Visual Studio 2015内置支持Grunt,Bower,Gulp和NPM for ASP.NET 5项目等工具。
但是,当我使用Visual Studio 2015创建ASP.NET 4.5.2项目时,它不使用这些工具。我想用bower而不是nuget来管理客户端软件包。
我可以在Visual Studio 2013中找到有关使用这些工具的信息(例如,请参阅this问题)。但我想Visual Studio 2015的程序不同,因为它内置了对这些工具的支持。
答案 0 :(得分:128)
虽然Liviu Costea's answer是正确的,但我仍然花了很长时间才弄清楚它是如何实际完成的。这是我从一个新的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
从System.Web.Optimization
WebGrease
和Web.config
的程序集绑定
将新的package.json
文件添加到项目(NPM configuration file
项目模板)
将bower
添加到devDependencies
:
{
"version": "1.0.0",
"name": "ASP.NET",
"private": true,
"devDependencies": {
"bower": "1.4.1"
}
}
保存package.json
时会自动安装bower包。
将新的bower.json
文件添加到项目(Bower Configuration file
项目模板)
将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 extension替换我在步骤2中删除的默认捆绑包。他还建议{G封附捆绑this article。
答案 1 :(得分:4)
实际上并没有太大的不同。只是在Visual Studio中有更好的支持,例如当您添加新项目时,您有bower或npm配置文件的模板。你也有gulp或grunt配置文件的模板。
但实际调用grunt / gulp任务并将它们绑定到构建事件仍然使用Task Runner Explorer完成,就像在VS 2013中一样。