将Grunt,Bower,Gulp,NPM与Visual Studio 2015一起用于ASP.NET 4.5项目


90

Visual Studio 2015内置了对诸如ASP.NET 5项目的Grunt,Bower,Gulp和NPM之类的工具的支持。

但是,当我使用Visual Studio 2015创建ASP.NET 4.5.2项目时,它没有使用这些工具。我想使用bower而不是nuget来管理客户端程序包。

我可以找到有关在Visual Studio 2013中使用这些工具的信息(例如,请参阅问题)。但是我想Visual Studio 2015的过程有所不同,因为它内置了对这些工具的支持。

Answers:


128

尽管Liviu Costea的答案是正确的,但我仍然花了很多时间来弄清楚它是如何完成的。因此,这是我的逐步指南,从一个新的ASP.NET 4.5.2 MVC项目开始。本指南包括使用Bower的客户端程序包管理,但是(尚未)涵盖捆绑/咕gr声/吞咽。

步骤1(创建项目)

使用Visual Studio 2015创建一个新的ASP.NET 4.5.2项目(MVC模板)。

步骤2(从项目中删除捆绑/优化)

步骤2.1

卸载以下Nuget软件包:

  • 引导程序
  • Microsoft.jQuery.Unobtrutrusive.Validation
  • jQuery.Validation
  • jQuery的
  • Microsoft.AspNet.Web.Optimization
  • Web油脂
  • 蚂蚁
  • 现代化
  • 响应

步骤2.2

App_Start\BundleConfig.cs从项目中删除。

步骤2.3

去掉

using System.Web.Optimization;

BundleConfig.RegisterBundles(BundleTable.Bundles);

Global.asax.cs

步骤2.4

去掉

<add namespace="System.Web.Optimization"/>

Views\Web.config

步骤2.5

删除组件绑定System.Web.Optimization,并WebGreaseWeb.config

步骤3(向项目添加凉亭)

步骤3.1

将新package.json文件添加到项目(NPM configuration file项目模板)

步骤3.2

添加bowerdevDependencies

{
  "version": "1.0.0",
  "name": "ASP.NET",
  "private": true,
  "devDependencies": {
    "bower": "1.4.1"
  }
}

package.json保存时会自动安装Bower软件包。

步骤4(配置凉亭)

步骤4.1

将新bower.json文件添加到项目(Bower Configuration file项目模板)

步骤4.2

添加bootstrapjquery-validation-unobtrusivemodernizrrespond到依赖关系:

{
  "name": "ASP.NET",
  "private": true,
  "dependencies": {
    "bootstrap": "*",
    "jquery-validation-unobtrusive": "*",
    "modernizr": "*",
    "respond": "*"
  }
}

这些软件包及其依赖项在bower.json保存时会自动安装。

第5步(修改Views\Shared\_Layout.cshtml

步骤5.1

更换

@Styles.Render("~/Content/css")

<link rel="stylesheet" href="~/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/Content/Site.css" />

步骤5.2

更换

@Scripts.Render("~/bundles/modernizr")

<script src="~/wwwroot/lib/modernizr/modernizr.js" ></script>

步骤5.3

更换

@Scripts.Render("~/bundles/jquery")

<script src="~/wwwroot/lib/jquery/dist/jquery.min.js"></script>

步骤5.4

更换

@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>

步骤6(修改其他来源)

在所有其他视图中替换

@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捆绑在一起的文章


6
非常感谢你。我是对的,有一个步骤被遗漏了:如何将〜/ wwwroot映射到/../bower_components(或gulp / grunt config如何将Bower程序包移动到“〜/ wwwroot”)您能否添加这一步并描述您将如何做?建议安排js / css代码以在VS2015环境中与IIS Express一起运行?
Roman Pokrovskij 2015年

当您创建一个bower.json通过Visual Studio 2015年的文件,它会自动创建一个bowerrc文件,以及,它覆盖的默认位置凉亭从安装bower_componentswwwroot/lib
山艾树GIS

1
事实证明,捆绑对我来说非常有用。现在,您已经删除了默认的捆绑器,我建议使用Bundler&Minifier替换它。它使用Task Runner Explorer并具有类似于npm和bower的配置文件。它也是Web Essentials的一部分,因此您可能已经安装了它。
LavaHot

1
这是一篇与gulp捆绑在一起的主题的不错的文章。
LavaHot

1
感谢您提供详细信息@SagebrushGIS!我还在研究如何将Bower软件包管理添加到我的MVC项目中。我已经通过VS2015添加了bower.json,但没有看到您正在谈论的bowerrc文件。我可能会缺少任何步骤,或者应该在哪里找到该文件?作为目前的解决方法,我使用:<link rel =“ stylesheet” href =“〜/ bower_components / bootstrap / dist / css / bootstrap.min.css” />
Guido Kersten,2016年

4

实际上并没有太大的区别。只是在Visual Studio中对所有这些都提供了更好的支持,例如,当您添加新项时,便拥有了Bower或npm配置文件的模板。另外,您还有用于gulp或grunt配置文件的模板。
但是,就像VS 2013中一样,仍然使用Task Runner Explorer来完成对grunt / gulp任务的实际调用并将其绑定以构建事件。


我想我仍然看不到如何在安装了该工具的VS中安装npm软件包。每次尝试安装.npm时,都会说我没有为节点或其他项目安装项目
Mastro

您需要首先在根文件夹中创建package.json。我通常在目标项目的根目录中将其创建为csproj文件的同级文件。然后,您可以使用npm命令
罗马
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.