1
我想在我的工作流程中使用吞噬大量數據,但是我得到了一個與吞數據插件相關的錯誤。使用吞噬數據吞噬大量的G 012
這裏是我的gulpfile.js
var gulp = require('gulp'),
plumber = require('gulp-plumber'),
browserSync = require('browser-sync'),
jade = require('gulp-jade'),
data = require('gulp-data'),
path = require('path'),
sass = require('gulp-ruby-sass'),
prefix = require('gulp-autoprefixer'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
process = require('child_process');
gulp.task('default', ['browser-sync', 'watch']);
// Watch task
gulp.task('watch', function() {
gulp.watch('*.jade', ['jade']);
gulp.watch('public/css/**/*.scss', ['sass']);
gulp.watch('public/js/*.js', ['js']);
});
var getJsonData = function(file, cb) {
var jsonPath = './data/' + path.basename(file.path) + '.json';
cb(require(jsonPath))
};
// Jade task
gulp.task('jade', function() {
return gulp.src('*.jade')
.pipe(plumber())
.pipe(data(getJsonData))
.pipe(jade({
pretty: true
}))
.pipe(gulp.dest('Build/'))
.pipe(browserSync.reload({stream:true}));
});
...
// Browser-sync task
gulp.task('browser-sync', ['jade', 'sass', 'js'], function() {
return browserSync.init(null, {
server: {
baseDir: 'Build'
}
});
});
這是一個基本的JSON文件,命名爲index.jade.json
{
"title": "This is my website"
}
我得到的錯誤是:
Error in plugin 'gulp-data'
[object Object]
我沒有收到錯誤了但如果我在'index.jade'中輸入'p = title',那麼在生成的html文件中只會得到一個空的'p'標籤。我檢查了gulp-jade文檔,並且我使用'geJsonData'變量的原因是因爲它推薦了[這裏](https://www.npmjs.org/package/gulp-jade#use-with-gulp-data -https-www -npmjs-org-package-gulp-data-) – Cos 2014-12-05 11:09:23
很奇怪。這個對我有用。飲用玉的例子已經過時了。 – Heikki 2014-12-05 11:19:33
剛剛發現它實際上工作,但只有當我在終端中運行'gulp'命令。有沒有辦法在任務運行中獲取對象內容並實時插入數據? – Cos 2014-12-05 11:31:03