Доброго времени суток!
Перехожу с ASP.NET на Node.js. На Node.js API все оказалось намного проще чем в ASP.NET но вот фронтенд сайта вызывает неопределенность. Очень много пакетов на котором все делают сайты к примеру express но мне нужно именно на fastify тк api была написана на нем и не хочется плодить основные библиотеки. В гугле не нашел ни одного примера сайта на fastify. И не очень понятна структура сайта на Node.js.
Как я понимаю express,fastify и прочие это основная часть приложения которая руководит всеми движениями проекта(роутинг, коннект, логика). И к нему подключаются отдельные модули в зависимости от цели. Если все верно, какая самая простая связка для реализации сайта вроде лендинга? Если есть ссылки на гайды или советы буду очень благодарен!
Не имею опыта работы с .NET, поэтому не могу приводить аналогий.
Для разработки фронта есть 2 пути:
view
Для лендинга лучше подойдет вариант с шаблонизатором, рассмотрим его.
Для начала подключаем модуль рендеринга point-of-view через npm: npm install point-of-view --save
Он поддерживает следующие шаблонизаторы:
При регистрации модуля указывается выбранный шаблонизатор, приведу пример из репозитория:
const fastify = require('fastify')()
fastify.register(require('point-of-view'), {
engine: {
ejs: require('ejs') // подключаем шаблонизатор ejs
}
})
fastify.get('/', (req, reply) => { // при GET запросе /
reply.view('/templates/index.ejs', { text: 'text' }) // рендерим view index.ejs и пробрасываем туда переменную text со значением "текст"
})
Как правило, у каждого шаблона свой синтаксис, нужно будет посмотреть каждый и подобрать по вкусу.
В дополнение рекомендую прочитать Node.js Best Practices
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Напрямую, через присвоение переменную передать не получитсяC php в js - можно, например, так: let var = '<?= $str ?>', но вот в обратную сторону этот фокус...
Сделал адаптивность пользуясь инструментами хром , то есть отображал сайт как будто на мобильном устройстве Сделал адаптивность для каждого...
Нужно реализовать меню-аккордеонПри клике на блок с заголовком первого уровня должен плавно "выезжать" сверху вниз блок с контентом