gulp-控制台中的任务输出未打印预期结果
gulp-task output in console is not printing expected result
我有以下 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 文件有问题吗?
好吧,如果你正在使用 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) + '.');
}
};
我有以下 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 文件有问题吗?
好吧,如果你正在使用 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) + '.');
}
};