gulp-ejs官网上有如此使用示例:javascriptvarejs=require("gulp-ejs");gulp.src("./templates/*.ejs").pipe(ejs({msg:"HelloGulp!"})).pipe(gulp.dest("./dist"));会得到如此效果:html<%=msg%>HelloGulp!出于某种需要,我把需要的ejs参数(data)放在了一个外部文件中:json//config.json{"content_includes":{"title":"Hello"}}html<%=title%>
javascript//gulpfile.jsvargulp=require('gulp');vargutil=require('gulp-util');varejs=require('gulp-ejs');varrename=require('gulp-rename');varpath=require('path');varcfg=require('./config.json');vartmp={}gulp.task('compile',function(){gulp.src("./html/**/[^_]*.ejs").pipe(rename(function(path){varbasename=path.basename;//判断相应的key是否存在if(cfg.hasOwnProperty(basename)){//若存在则缓存这个key的value,即需要传给ejs的参数tmp=cfg[basename];}else{tmp={};}})).pipe(ejs(tmp)).on('error',gutil.log).pipe(rename(function(path){path.extname=".html";})).pipe(gulp.dest('./dest'));});结果,提示参数未传入:titleisnotdefined请问应该怎么做?
繁星coding
HUWWW
相关分类