В Gulp.js для работы с шаблонами HTML, такими как EJS, используется плагин gulp-ejs. Чтобы передать разные данные на разные страницы, можно воспользоваться функционалом этого плагина.
Перед тем, как приступить к передаче данных, необходимо установить плагин gulp-ejs с помощью команды:
npm install --save-dev gulp-ejs
После установки плагина, можно приступить к созданию задачи в Gulp, которая будет компилировать EJS-шаблоны и передавать данные на страницы.
Пример задачи Gulp для работы с gulp-ejs:
const gulp = require('gulp'); const ejs = require('gulp-ejs'); const data = require('gulp-data'); gulp.task('ejs', function() { return gulp.src('src/templates/*.ejs') .pipe(data(function(file) { // Возвращаем объект с данными, которые нужно передать в шаблон return require('./src/data/' + path.basename(file.path) + '.json'); })) .pipe(ejs()) .pipe(gulp.dest('dist')); });
В этом примере мы используем пакет gulp-data, чтобы передать данные из JSON-файлов в EJS-шаблоны. JSON-файлы с данными должны находиться в папке src/data
и иметь такие же имена, как и EJS-шаблоны.
Чтобы передать разные данные на разные страницы, мы определяем функцию, которая возвращает объект с данными, основываясь на имени EJS-шаблона. В этом примере мы предполагаем, что у каждого EJS-шаблона есть соответствующий JSON-файл с данными.
Затем мы проводим компиляцию EJS-шаблонов с помощью gulp-ejs и сохраняем результат в папке dist
.
Для запуска задачи Gulp достаточно выполнить команду gulp ejs
.
Таким образом, используя плагин gulp-ejs и пакет gulp-data, мы можем передать разные данные на разные страницы EJS-шаблонов в Gulp.js. Это позволяет динамически создавать содержимое страниц на основе различных данных.