在Visual Studio 2015 RTM中,bower_components文件夹已经消失,软件包直接保存到wwwroot / lib /文件夹。这可以通过以下事实来验证:默认gulpfile不再具有将文件从bower_components复制到wwwroot的功能。
但是在默认的project.json中,即使文件夹不再存在,bower_components仍然在“exclude”属性中。可能是一种疏忽?
有谁知道这是怎么回事?我在发行说明或错误修复和已知问题文章中没有看到任何相关内容。此外,我认为wwwroot文件夹的全部内容仅包含实际网站所需的白名单文件。其中,我想这里没有 伤害 来使库代码可用,它实际上让我们的生活更容易,因为我们添加了新的库,但在整个测试期间,bower_components文件夹是非常严格分开。
答案 0 :(得分:10)
我一直在尝试调整我的项目以匹配asp.net 5最新VS项目模板中的更改。
据我所知,之前有一项任务是将bower_components文件夹中的内容复制到wwwroot / lib中
但现在不需要,因为他们将bower文件直接放在wwwroot / lib中,这是因为在web应用程序的根目录中有一个名为.bowerrc的新文件,其中包含以下内容:
{
"directory": "wwwroot/lib"
}
所以我认为不再需要bower_components文件夹了 gruntfile.js中也有很多相关的变化。
答案 1 :(得分:2)
据我所知,通过使用bower_components文件夹代替wwwroot / lib文件夹中的内容,可以通过gulp添加更多工作。但这转化为更多的控制。我还注意到有一个bower_componets文件夹,我得到了更多的内容,如自述文件,源代码,更改日志等...最好的选择是以这种或那种方式做到这一点。或者只需按照以下步骤操作即可。
通过拥有一个bower_components文件夹我可以控制缩小,我可以控制哪些文件放入wwwroot / lib文件夹。我还可以控制我不想在网上找到哪些文件,如.bower.json,LICENSE或MIT-LICENSE.txt等。我也可以自己组合和缩小文件,或者至少我可以控制* min.js或min.css文件仅在不发布非min文件的情况下发布。将bower组件发布到wwwroot / lib给我看起来好像wwwroot / lib比流内衬更臃肿。
我做了以下
扩展了bower.json文件编辑.bowerrc文件并更改为:
{
"directory": "bower_components"
}
切换显示所有文件以隐藏文件。
这是一个瘦gulp.js,除了min文件,没有地图文件,没有min文件,没有许可证文件等等都不会复制任何东西......对于bootstrap,这将复制字体文件
"use strict";
var gulp = require("gulp"),
rimraf = require("rimraf")
var paths = {
bower: "./bower_components/",
lib: "./wwwroot/lib/"
};
gulp.task('clean', function (callback) {
rimraf(paths.lib, callback);
});
gulp.task('default', ['clean'], function () {
var bower = {
"bootstrap": "bootstrap/dist/**/*.{min.js,min.css,ttf,svg,woff,eot}",
"jquery": "jquery/dist/jquery.min.js",
"jquery-validation": "jquery-validation/dist/jquery.validate.js",
"jquery-validation-unobtrusive": "jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"
};
for (var destinationDir in bower) {
gulp.src(paths.bower + bower[destinationDir])
.pipe(gulp.dest(paths.lib + destinationDir));
}
});
还有更多内容,但我认为这是一个好的开始。 _Layout.cshtml需要修改。还需要一个gulp任务,它将创建lib文件夹的开发版本,该文件夹将包含无min文件或包含地图文件。
我认为你最后需要将它添加到project.json文件
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
],
这个
"scripts": {
"prepublish": [ "npm install", "bower install", "gulp clean", "gulp default" ]
}