Comments 8
На сайте с сотней страниц невозможно отредактировать меню на каждой странице.
Нашёл SSI (server-side includes) и успешно их использовал. Хедер, менюшка, сайдбар, футер — всё в отдельных файлах было. И очень быстро работало. Причём, совсем без программирования и бэкенда.
Сейчас бы использовал статический генератор, наверное.
Статические генераторы – дело хорошее. Однако, во-первых, это как минимум сложнее, во-вторых, требует полностью переделывать проект, если он уже написан.
gulp-file-include, в свою очередь, требует минимальных усилий для использования. А сборщик проекта (наподобие Gulp) в любом случае должен быть, это сильно упрощает работу, при этом никак не влияя на конечный результат.
И, по-моему, это удобнее PHP. Да, он не привносит ничего особенно нового, что нельзя сделать на PHP, но при этом не требует сервера, знания другого языка (если ты frontend-only) и тому подобных сложностей.
Посмотрите в сторону web-components
Слишком низкоуровнево, в плохом смысле этого слова, т.е. сложно и неудобно.
И не хотелось бы путать теплое с мягким, но, если уж я решу использовать JS для работы с DOM, не лучше ли было бы использовать какой-нибудь Svelte вместо веб-компонентов?
Основное преимущество gulp-file-include, как я уже говорил, — это то, что результат не меняется. Мы компилируем наш раздробленный на компоненты код в обычный HTML-файл, который не вызовет проблем ни с поддержкой браузеров, ни с SEO.
Поэтому если задача на три копейки сложнее минимума, лучше все-таки взять Pug или Nunjucks (в зависимости от религиозной принадлежности).
Однако с большой силой приходит большое количество зависимостей
Я вот недавно знакомился с Angular 9 и тестовое приложение в пару экранов собралось в 50-100Кб со всеми либами. Не знаю какие там стандарты в индустрии, но вроде неплохо
Не знаю — не знаю. SSG отличный выбор: привычные инструменты (любимый фреймворк), легко расширяемые (завтра решили, что статический сайт уже не подходит, ни чего не меняя переехали на ssr или spa)
Что делать, если брать фронтенд-фреймворк – это излишество