Не могу получить gulp-ejs для компиляции EJS в.html

Привет, я использую gulp для автоматизации компиляции файлов.ejs в html-файлы, но когда gulp-ejs компилирует файлы, он выдается как ejs. Мне нужно определить расширение.html в объекте ejs(), но я могу заставить его работать.

Это то, что я получил так далеко:

gulp.task('ejs', function(){
    return gulp.src('src/templates/**/*.ejs')
    .pipe(ejs())
    .pipe(gulp.dest('builds/dev/'))
});

Я также попробовал это:

gulp.task('ejs', function(){
    return gulp.src('src/templates/**/*.ejs')
    .pipe(ejs({setting: '.html'}))
    .pipe(gulp.dest('builds/dev/'))
});

Br M

2 ответа

Вы должны предоставить ext Опция в настройках вашего объекта выглядит так:

gulp.task('ejs', function(){
  return gulp.src('src/templates/**/*.ejs')
   .pipe(ejs({}, {ext:'.html'}))
   .pipe(gulp.dest('builds/dev/'))
});

вам просто нужно использовать плагин (gulp-rename) для версии выше 4

      const ejs = require('gulp-ejs')
const rename = require('gulp-rename')
 
gulp.src('./templates/*.ejs')
  .pipe(ejs({ title: 'gulp-ejs' }))
  .pipe(rename({ extname: '.html' }))
  .pipe(gulp.dest('./dist'))
Другие вопросы по тегам