Grunt 和 Gulp

在 ASP.NET 核心應用程式中,你可以使用第三方工具(如 GulpGrunt) 在設計時繫結和縮小客戶端資源。通過使用設計時繫結和縮小,在應用程式部署之前建立縮小檔案。在部署之前進行繫結和縮小可以減少伺服器負載。但是,重要的是要認識到設計時繫結和縮小會增加構建複雜性並且僅適用於靜態檔案。

這是通過在專案中通過 gulpfile.js 檔案配置 Gulp 在 ASP.NET Core 中完成的:

// Defining dependencies
var gulp = require("gulp"),  
    rimraf = require("rimraf"),
    concat = require("gulp-concat"),
    cssmin = require("gulp-cssmin"),
    uglify = require("gulp-uglify");

// Define web root
var webroot = "./wwwroot/"

// Defining paths
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"
};

// Bundling (via concat()) and minifying (via uglify()) Javascript
gulp.task("min:js", function () {  
    return gulp.src([paths.js, "!" + paths.minJs], { base: "." })
        .pipe(concat(paths.concatJsDest))
        .pipe(uglify())
        .pipe(gulp.dest("."));
});

// Bundling (via concat()) and minifying (via cssmin()) Javascript
gulp.task("min:css", function () {  
    return gulp.src([paths.css, "!" + paths.minCss])
        .pipe(concat(paths.concatCssDest))
        .pipe(cssmin())
        .pipe(gulp.dest("."));
});

這種方法將分別相應地繫結和縮小現有的 Javascript 和 CSS 檔案到目錄和使用的 globbing 模式。