我有以下gulp任务,在html文件中插入.css
和.js
个文件:
gulp.task('inject', function () {
log('Injecting the JS and CSS files into index.html');
var wiredep = require('wiredep').stream;
var options = config.getWiredepDefaultOptions();
return gulp.src(config.index)
.pipe(wiredep(options))
.pipe($.inject(gulp.src(config.customFiles), {ignorePath: options.ignorePath}))
.pipe(gulp.dest(config.client));
});
和我的gulp.config.js
:
module.exports = function () {
var client = './public';
var config = {
allJS: [
'*.js',
'public/js/*.js',
'public/js/**/*.js'
],
client: client,
index: client + '/index.html',
customFiles: [
'./public/css/*.css',
'./public/js/*.js',
'./public/js/**/*.js'
],
bower: {
json: require('./bower.json'),
directory: './public/lib',
ignorePath: '/public/'
},
};
config.getWiredepDefaultOptions = function () {
var options = {
bowerJson: config.bower.json,
directory: config.bower.directory,
ignorePath: config.bower.ignorePath
};
return options;
};
return config;
};
这可以按预期工作,但是当我运行任务时,我得到了这个:
它总是说gulp-inject 3 files into index.html
,即使没有添加新文件。
我的gulp文件有问题吗?
答案 0 :(得分:2)
如果你正在使用gulp-inject这就是我找到的。
如果你看一下gulp-inject中的代码,你可以看到它只是吐出文件数,除非它得到opt.quiet设置。我没有在这个设置的文档中看到一个选项,但是如果你查看测试它会显示一个使用它的例子。
启用安静模式link第505行
inject(sources, {quiet: true});
生成日志语句的源。 link第109行
function getNewContent(target, collection, opt) {
var logger = opt.quiet ? noop : function (filesCount) {
if (filesCount) {
log(cyan(filesCount) + ' files into ' + magenta(target.relative) + '.');
} else {
log('Nothing to inject into ' + magenta(target.relative) + '.');
}
};