我已经制定了以下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
P.S。当然不想再从最后一次构建中包含app.min.js
,这当然会在根目录上。
P.P.S 我已经反复为几个项目文件夹重复这个构建过程,重新使用这个逻辑的任何想法。现在我为每个文件夹设置不同的手表并构建他们的app.min.js。
答案 0 :(得分: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。
无法在root中添加文件,我相信它是因为你的排除语句是第一个(不记得原因),而且由于你说明要在你的数组中使用哪些子目录,因此没有必要。 / p>
查看glob syntax了解详情。