来自单独文件的gulp.src不起作用

时间:2017-08-18 08:42:43

标签: javascript gulp

我正在尝试编写一个gulpfile,如下所示:

var gulp = require('gulp');
// other dependencies go here ....

// source of files 
var inputs = require('./asset_source.js');

// a simple task
gulp.task('css', function () {
    gulp.src(inputs.css)
    .pipe(debug())
    .pipe(plumber())
    .pipe(maps.init())
    .pipe(concatCss('libs.css'))
    .pipe(maps.write('../srcmaps'))
    .pipe(plumber.stop())
    .pipe(gulp.dest('assets/css'));
});

// the watcher
gulp.task('watch', function () {
    gulp.watch('./asset_source.js', ['css']);
});

// default task
gulp.task('default', ['browser-sync', 'watch']);

资产来源(asset_source.js)文件是这样的:

module.exports = {
    css: [
     'path/to/a/file.css',
     'path/to/another/file.css',
     .......
     .......
    ],
    js: [
     'path/to/a/file.js',
     'path/to/another/file.js',
     .......
     .......
    ]
};

现在我只需在控制台中输入 gulp 即可运行应用程序,并且由于browserync,它会在浏览器中启动。我拥有asset_source.js文件中列出的所有css,scss,js资产,该文件与gulpfile.js位于同一目录中。我想要实现的是,如果我向asset_source.js中的任何一个数组追加或删除一个值,那么相关任务应该在gulp已经运行时运行。在这种情况下, css 应该在对 asset_source.js 及其更新内容的任何更改上运行。

但相反它并没有这样做。即使asset_source文件发生更改,gulp也会使用初始内容并运行任务。但是,如果在单独的终端中运行 gulp css ,则可以正常工作。

请在我出错或有可能的地方帮助我。感谢。

0 个答案:

没有答案