将EJS模板编译为单独文件夹中的HTML

时间:2016-12-30 16:53:21

标签: gulp ejs

我需要将我的ejs模板导出到一个单独的" dist"我项目根目录下的文件夹。我安装了gulp-ejs并在我的gulpfile.js中进行了以下设置,但它没有创建文件夹并将html文件编译到它:

    var gulp = require('gulp'),
    sass = require('gulp-sass'),
    cssbeautify = require('gulp-cssbeautify'),
    ejs = require('gulp-ejs');

gulp.task('styles', function(){
  gulp.src('sass/**/*.scss')
      .pipe(sass().on('error', sass.logError))
      .pipe(gulp.dest('./css/')
    );
});

gulp.task('css', function(){
  return gulp.src('./styles/*.css')
    .pipe(cssbeautify({
      indent: ' ',
      openbrace: 'end-of-line',
      autosemicolon: true
    }))
    .pipe(gulp.dest('./styles/'));
});

gulp.task('ejs', function(){
  return gulp.src('./views/pages/*.ejs')<----SHOULD GRAB ALL EJS PAGES
   .pipe(ejs({}, {ext:'.html'})) <-----ADD EXTENSION OF .HTML
   .pipe(gulp.dest('./dist')) <-----AND EXPORT THEM TO THE DIST FOLDER
});

//Watch
gulp.task('default', function(){
  gulp.watch('sass/**/*.scss',['styles','css','ejs']);
});

另外,我的目录结构如下:

-css
-node_modules
-routes
-sass
-views
  |-pages
    |-about.ejs
    |-index.ejs
  |-partials
    |-head.ejs
    |-nav.ejs

 -gulpfile.js
 -package.json
 -server.js

1 个答案:

答案 0 :(得分:2)

我认为你应该为ejs参数添加另一个{}。

gulp.task('ejs', function(){ return gulp.src('./views/pages/*.ejs')<----SHOULD GRAB ALL EJS PAGES .pipe(ejs({},{}, {ext:'.html'})) <-----ADD EXTENSION OF .HTML .pipe(gulp.dest('./dist')) <-----AND EXPORT THEM TO THE DIST FOLDER });

git reset --hard HEAD^

我就是这样做的,它对我有用。 (使用gulp-ejs 3.0.0)

https://github.com/mde/ejs&amp; https://github.com/rogeriopvl/gulp-ejs