我需要运行捆绑和缩小某些.js文件,但我需要为这些文件定义正确的顺序。
我该怎么做?
我的gulpfile.js文件,路径片段:
...
var paths = {
js: webroot + "js/lib/**/*.js",
minJs: webroot + "js/lib/**/*.min.js",
css: webroot + "css/lib/**/*.css",
minCss: webroot + "css/lib/**/*.min.css",
...
我需要按此顺序处理:
jquery.js
jquery-ui.custom.js
my-site.js
整个gulpfile.js文件(这是asp.net核心捆绑和缩小任务的默认文件):
/// <binding Clean='clean' />
"use strict";
var gulp = require("gulp"),
rimraf = require("rimraf"),
concat = require("gulp-concat"),
cssmin = require("gulp-cssmin"),
uglify = require("gulp-uglify");
var webroot = "./wwwroot/";
var paths = {
js: webroot + "js/lib/**/*.js",
minJs: webroot + "js/lib/**/*.min.js",
css: webroot + "css/lib/**/*.css",
minCss: webroot + "css/lib/**/*.min.css",
concatJsDest: webroot + "js/site.min.js",
concatCssDest: webroot + "css/site.min.css"
};
gulp.task("clean:js", function (cb) {
rimraf(paths.concatJsDest, cb);
});
gulp.task("clean:css", function (cb) {
rimraf(paths.concatCssDest, cb);
});
gulp.task("clean", ["clean:js", "clean:css"]);
gulp.task("min:js", function () {
return gulp.src([paths.js, "!" + paths.minJs], { base: "." })
.pipe(concat(paths.concatJsDest))
.pipe(uglify())
.pipe(gulp.dest("."));
});
gulp.task("min:css", function () {
return gulp.src([paths.css, "!" + paths.minCss])
.pipe(concat(paths.concatCssDest))
.pipe(cssmin())
.pipe(gulp.dest("."));
});
gulp.task("min", ["min:js", "min:css"]);
答案 0 :(得分:1)
非常简单,您需要指定文件的路径数组(路径可以包含通配符),即:
/* REMEMBER TO USE FULL PATHS */
var order = [
"jquery.js",
"jquery-ui.custom.js",
"my-site.js"
];
gulp.task("yourtask",function () {
var sources = order.concat([
webroot + "js/lib/**/*.js",
webroot + "js/lib/**/*.min.js",
]);
return gulp.src(sources)./* your operations goes here*/
});
此外, gulp 足够智能不重复已使用的文件,因此您可以像这样包含您的库:
webroot + "js/lib/**/*.js"