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 模式。