我使用gulp将我的ejs模板编译成html文件,我很难找到如何告诉我json
数据文件的位置。
当我尝试使用gulp-ejs
时,如下所示
gulp.task('ejs', function() {
return gulp.src('src/views/pages/index.ejs')
.pipe(ejs(
{ media: 'src/js/data/data.json' },
{ ext:'.html' }))
.on('error', gutil.log)
.pipe(gulp.dest('build/'))
.pipe(browserSync.reload({
stream: true
}))
});
它将我想要的路径作为文字字符串。是否有不同的方法在gulp之外执行此操作,或者在gulp中将json数据传递给它?
答案 0 :(得分:0)
这是我的两个部分问题,经过一些试验和错误后我找到了解决方案。
首先我导入了我的json文件错误,但我最终没有将其导入gulp但是当我在我的javascript文件中导入它之后我就像下面那样:
const media = require('src/js/data/data.json').media; // media was the name of the object I needed from the json file
这使gulp-ejs
的gulp任务看起来像这样
gulp.task('ejs', function() {
return gulp.src('src/views/pages/index.ejs')
.pipe(ejs(
{},
{ ext:'.html' }))
.on('error', gutil.log)
.pipe(gulp.dest('build/'))
.pipe(browserSync.reload({
stream: true
}))
});
如果有人使用gulp-ejs
并遇到问题,您必须在 导入任何数据的地方留下一个空对象,即使您不是。< / p>