2017-05-25 100 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,並遇到了問題,你必須離開一個空的對象,你會導入任何數據,即使你不是。