2017-05-25 97 views
2

我正在使用gulp将我的ejs模板编译为html文件,并且我正在努力研究如何告诉它我的数据文件的位置是json。 当我尝试使用gulp-ejs像下面EJS获取JSON数据与吞咽

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

它需要什么,我打算要为文字字符串的路径。有没有不同的方式来做到这一点,或者在吞并JSON数据的吞咽之内?

回答

0

这是一个由两部分组成的问题,我在经过一些试验和错误后找到了解决方案。

首先我导入我的JSON文件错了,我结束了在一口不进口,但是当我在我的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.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,并遇到了问题,你必须离开一个空的对象,你会导入任何数据,即使你不是。