0

我有以下 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 文件有问题吗?

4

1 回答 1

2

好吧,如果您使用的是 gulp-inject 这就是我发现的。

如果您查看 gulp-inject 中的代码,您可以看到它只是吐出文件计数,除非它设置了 opt.quiet。我在文档中没有看到此设置的选项,但如果您查看测试,它会显示一个正在使用的示例。

启用安静模式链接线路 505

inject(sources, {quiet: true});

生成日志语句的源。连接线 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) + '.');
    }
  };
于 2016-08-16T19:58:37.997 回答