0
我有一個Visual Studio模板,此默認一飲而盡文件:壓縮CSS/JS到他們的個人文件
/// <binding BeforeBuild='clean, minPreBuild' />
"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/**/*.js",
minJs: webroot + "js/**/*.min.js",
css: webroot + "css/**/*.css",
minCss: webroot + "css/**/*.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"]);
gulp.task("minPreBuild", ["min:js", "min:css"]);
我遇到的問題是我的js的一個目錄中的文件,對淘汰賽的依賴,但我只在網站上的其中一頁上使用淘汰賽。我不想在我的共享視圖中包含knockout,並且默認將所有文件捆綁到單個文件中導致JS錯誤「ko is undefined」,因爲其中一個JS文件依賴於KO。
有沒有一種方法可以單獨縮小文件,而不需要將其解碼爲主「site.min.css」?
抱歉,我想我還不清楚,這不是淘汰賽本身我正在涅槃這是有問題的,這是我的網站的js文件之一引用淘汰賽功能。這一頁有一個淘汰賽依賴,所以我不希望它被捆綁到「main.js」,因爲淘汰賽將需要包括在每個頁面,以避免「blog.js」拋出一個錯誤W /它對淘汰賽的依賴。希望這是有道理的? – Kritner
那又如何?真的沒有什麼區別。只是意味着你必須排除一個JavaScript文件而不是'knockout.js'。我上面的答案仍然適用。 –
啊,的確我會給它一點點,謝謝! – Kritner