控制台中的gulp-task输出未打印预期结果

时间:2016-08-16 18:22:09

标签: javascript gulp wiredep

我有以下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;
};

这可以按预期工作,但是当我运行任务时,我得到了这个:

enter image description here

它总是说gulp-inject 3 files into index.html,即使没有添加新文件。

我的gulp文件有问题吗?

1 个答案:

答案 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) + '.');
    }
  };