虽然Liviu Costea的答案是正确的,但我还是花了相当长的时间才弄清楚它实际上是如何完成的。因此,这里是我从一个新的ASP.NET 4.5.2 MVC项目开始的逐步指南。本指南包括使用bower进行客户端包管理,但尚未涵盖捆绑/grunt/gulp。
使用Visual Studio 2015创建新的ASP.NET 4.5.2项目(MVC模板)。
卸载以下Nuget软件包:
从项目中删除App_Start\BundleConfig.cs
。
删除
using System.Web.Optimization;
和
BundleConfig.RegisterBundles(BundleTable.Bundles);
来自 Global.asax.cs
移除
<add namespace="System.Web.Optimization"/>
从 Views\Web.config
中:
移除 Web.config
中关于 System.Web.Optimization
和 WebGrease
的程序集绑定。
添加一个新的 package.json
文件到项目中(使用 NPM 配置文件
项模板)。
将 bower
添加到 devDependencies
中:
{
"version": "1.0.0",
"name": "ASP.NET",
"private": true,
"devDependencies": {
"bower": "1.4.1"
}
}
当保存 package.json
文件时,将自动安装 bower 包。
将新的 bower.json
文件添加到项目中(Bower 配置文件
项目模板)
将 bootstrap
、jquery-validation-unobtrusive
、modernizr
和 respond
添加到依赖项中:
{
"name": "ASP.NET",
"private": true,
"dependencies": {
"bootstrap": "*",
"jquery-validation-unobtrusive": "*",
"modernizr": "*",
"respond": "*"
}
}
当保存bower.json
时,这些软件包及其依赖项会自动安装。
Views\Shared\_Layout.cshtml
)替换
@Styles.Render("~/Content/css")
随着
<link rel="stylesheet" href="~/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/Content/Site.css" />
替换
@Scripts.Render("~/bundles/modernizr")
随着
<script src="~/wwwroot/lib/modernizr/modernizr.js" ></script>
替换
@Scripts.Render("~/bundles/jquery")
随着
<script src="~/wwwroot/lib/jquery/dist/jquery.min.js"></script>
替换
@Scripts.Render("~/bundles/bootstrap")
随着
<script src="~/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="~/wwwroot/lib/respond/dest/respond.min.js"></script>
在所有其他视图中替换
@Scripts.Render("~/bundles/jqueryval")
随着
<script src="~/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
在下方评论中,LavaHot 推荐使用 Bundler & Minifier 扩展 作为替代我在第2步中删除的默认打包程序。他还推荐这篇文章关于使用 Gulp 进行打包。
实际上并没有太大的区别。只是在Visual Studio中对所有这些内容有更好的支持,例如当您添加新项目时,您可以使用bower或npm配置文件模板。此外,还有gulp或grunt配置文件模板。
但是,调用grunt/gulp任务并将它们绑定到构建事件仍然是通过Task Runner Explorer完成的,就像在VS 2013中一样。
/wwwroot”映射到“/../bower_components”(或gulp/grunt配置如何将bower包移动到“/wwwroot”)?您能否添加此步骤,并描述您建议如何安排js/css代码以在VS2015环境中与IIS Express运行? - Roman Pokrovskij