【问题标题】:Can't get gulp-ejs to compile EJS to .html无法让 gulp-ejs 将 EJS 编译为 .html
【发布时间】:2016-04-18 10:30:25
【问题描述】:

您好,我正在使用 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/'))
});

Br M

【问题讨论】:

    标签: node.js gulp ejs gulp-plugin


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢斯文,非常感谢!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      • 2012-11-24
      • 1970-01-01
      • 2019-01-21
      • 2021-04-08
      相关资源
      最近更新 更多