0

我有以下 gulp 构建过程。

gulp.task("watch", function(){
    gulp.watch("public/admin/js/**/*.js", ["login"]);
}

gulp.task("login", function() {
    var js = [
        "!public/admin/js/api",
        "public/admin/js/*.js",
        "public/admin/js/controller/**/*.js",
        "public/admin/js/model/**/*.js",
        "public/admin/js/view/**/*.js"
    ];
    gulp.src(js)
        .pipe(concat("app.min.js"))
        .pipe(gulp.dest("public/admin/js"));
});

1)我无法添加根目录中的文件。public/admin/js/*.js, 不管用

2)我觉得有一些重复,如果有人可以帮我重写这个。简而言之,我想在/public/admin减号下连接所有/public/admin/api

PS,当然不想app.min.js从最后一个版本中再次包含,这当然会在根目录上。

PPS我一遍又一遍地为几个项目文件夹重复了这个构建过程,任何重新使用这个逻辑的想法。现在我正在为每个文件夹设置不同的手表并构建它们的 app.min.js。

4

1 回答 1

0

“public/admin/js/”被重复,我敢打赌那些不是唯一使用它的任务。在这种情况下,为什么不通过自己的配置文件中的 module.exports 将其设置为全局变量?这样您就可以要求它并将其设置为 $ 在这种情况下,您的任务将类似于:

module.exports.JSadmin = "public/admin/js/"

var $ = require('./globalConfig');

gulp.task("watch", function(){
    gulp.watch($.JSadmin + "**/*.js", ["login"]);
}

对于您的其他任务,您可以通过循环并附加基本目录来创建一个动态数组,然后像往常一样将该数组用于您的 src。

无法在根目录中添加文件,我相信这是因为您首先要排除语句(不记得为什么),而且没有必要,因为您要说明要在数组中使用哪些子目录。

检查glob 语法以获取更多信息。

于 2015-06-04T04:50:58.877 回答