无法让gulp-ejs将EJS编译为.html

7uhlpewt  于 2022-12-08  发布在  Gulp
关注(0)|答案(2)|浏览(174)

嗨,我使用gulp来自动将.ejs文件编译为html文件,但是当gulp-ejs编译文件时,它将其作为ejs。我想我需要在ejs()对象中定义.html扩展名,但是我可以让它工作。
这是我目前得到的结果:

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/'))
});

溴甲基

wlwcrazw

wlwcrazw1#

需要在设置对象中提供ext选项,如下所示:

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

6ioyuze22#

您只需要使用(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'))

相关问题