如何通过 Bower 安装 GULP bundel 库,ASP.Net 5
How to have GULP bundel libraries installed by Bower, ASP.Net 5
我已经使用新的 Bower 系统在我的 ASP.Net 5 应用程序中安装了 jQuery
和 jQuery-Validation
。这创建了一个名为 lib
的文件夹,其中包含两个包的文件夹。在包的文件夹中有很多文件和子文件夹,经过一番挖掘后看起来我只需要使用 dist
文件夹中的 .js
文件。
我也在使用 gulp
进行捆绑和缩小,但我不确定如何配置它,所以它会添加来自 dist
文件夹的文件以及我自己的自定义 JavaScript
文件。
我对 Gulp
和 Bower
都很陌生,但到目前为止,它们看起来比旧的 NuGet
和 ASP.Net 麻烦、烦人和复杂得多 2.5捆绑和缩小方式。
我的Gulp(由VS2015为我生成):
///
"use strict";
var gulp = require("gulp"),
rimraf = require("rimraf"),
concat = require("gulp-concat"),
cssmin = require("gulp-cssmin"),
uglify = require("gulp-uglify");
var paths = {
webroot: "./wwwroot/"
};
paths.js = paths.webroot + "js/**/*.js";
paths.minJs = paths.webroot + "js/**/*.min.js";
paths.css = paths.webroot + "css/**/*.css";
paths.minCss = paths.webroot + "css/**/*.min.css";
paths.concatJsDest = paths.webroot + "js/site.min.js";
paths.concatCssDest = paths.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"]);
编辑:
我刚刚添加了 jquery.validatie.unobtrusive
并且它没有 dist
文件夹只有一些 json
文件和包根目录下的核心 .js
文件所以我如何确保我正在抓取所有正确的东西都在这里吗?
假设您的 dist 文件夹在 webroot 下:
paths.dist = paths.webroot + "dist/**/*.js";
..
gulp.task("min:js", function () {
return gulp.src([paths.js, paths.dist, "!" + paths.minJs], { base: "." })
关键是您设置了 gulp 从中提取文件的源文件夹。注意到我将我的 paths.dist 添加到数组了吗?这会将该文件夹及其下的所有 js 文件添加到 gulp。如果您需要另一个文件夹,请将另一个 属性 添加到路径并将其添加到数组中。
我已经使用新的 Bower 系统在我的 ASP.Net 5 应用程序中安装了 jQuery
和 jQuery-Validation
。这创建了一个名为 lib
的文件夹,其中包含两个包的文件夹。在包的文件夹中有很多文件和子文件夹,经过一番挖掘后看起来我只需要使用 dist
文件夹中的 .js
文件。
我也在使用 gulp
进行捆绑和缩小,但我不确定如何配置它,所以它会添加来自 dist
文件夹的文件以及我自己的自定义 JavaScript
文件。
我对 Gulp
和 Bower
都很陌生,但到目前为止,它们看起来比旧的 NuGet
和 ASP.Net 麻烦、烦人和复杂得多 2.5捆绑和缩小方式。
我的Gulp(由VS2015为我生成): /// "use strict";
var gulp = require("gulp"),
rimraf = require("rimraf"),
concat = require("gulp-concat"),
cssmin = require("gulp-cssmin"),
uglify = require("gulp-uglify");
var paths = {
webroot: "./wwwroot/"
};
paths.js = paths.webroot + "js/**/*.js";
paths.minJs = paths.webroot + "js/**/*.min.js";
paths.css = paths.webroot + "css/**/*.css";
paths.minCss = paths.webroot + "css/**/*.min.css";
paths.concatJsDest = paths.webroot + "js/site.min.js";
paths.concatCssDest = paths.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"]);
编辑:
我刚刚添加了 jquery.validatie.unobtrusive
并且它没有 dist
文件夹只有一些 json
文件和包根目录下的核心 .js
文件所以我如何确保我正在抓取所有正确的东西都在这里吗?
假设您的 dist 文件夹在 webroot 下:
paths.dist = paths.webroot + "dist/**/*.js";
..
gulp.task("min:js", function () {
return gulp.src([paths.js, paths.dist, "!" + paths.minJs], { base: "." })
关键是您设置了 gulp 从中提取文件的源文件夹。注意到我将我的 paths.dist 添加到数组了吗?这会将该文件夹及其下的所有 js 文件添加到 gulp。如果您需要另一个文件夹,请将另一个 属性 添加到路径并将其添加到数组中。