2016-12-30 48 views
0

我需要将我的ejs模板导出到我的项目根目录下的单独“dist”文件夹中的html文件中。我有安装一饮而尽-EJS并在我的gulpfile.js以下设置,但不创建文件夹和HTML文件编译它:在单独的文件夹中将EJS模板编译为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 

回答

2

我想你应该添加另一个{}给ejs参数。

ejs(data,option,settings)

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

这是我如何做到这一点,它为我工作。 (使用吞-EJS 3.0.0)

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

相关问题