Bower与Visual Studio Publish

时间:2015-12-29 18:40:16

标签: asp.net tfs npm visual-studio-2015 bower

我想在Visual Studio 2015中开发的MVC 4应用程序中使用Bower。我知道当你有一个MVC 5项目时,使用Visual Studio 2015 Update 1,Bower管理有一个很好的用户界面,就像nuget一样接口。这部分并不重要。

我目前正在使用bower - 我有npm和bower设置,我在解决方案中有package.json和bower.json文件。保存时,Visual Studio会自动运行“npm install”,我在package.json中有一个postinstall步骤来运行“bower install”。

我不想将bower_components放入解决方案(或源代码管理)中。我想要的只是保留json配置文件,当你保存时,将检索所有依赖项。

这一切在开发中都很好,但是无效的是右键单击Web项目,发布。发布不运行“npm install”,并且不包括解决方案中未包含的文件(除了它似乎与解决方案中未包含的nuget包一起使用)。 “发布Web”功能是我的Web应用程序使用IIS部署部署到生产的方式。

如何让Visual Studio Web Publish与Bower合作?

另一种选择 - 我已经看到Team System Builds有新的钩子可以运行gulp任务,但我不知道你可以用这种方式直接发布到IIS。

2 个答案:

答案 0 :(得分:4)

而不是引用/部署完整的bower_components文件夹,您可以使用gulp或grunt脚本(选择您喜欢的任何内容)将正确的文件从bower_components文件夹复制到类似scripts / lib的文件。

然后,您可以将这些文件包含在源代码管理中,然后再部署它们。

以下是我用来完成此任务的grunt文件:

{{1}}

答案 1 :(得分:-1)

在ASP.NET Core(即MVC6)中,Bower配置(在.bowerrc文件中)将脚本添加到wwwroot / lib而不是bower_components文件夹。该内容确实由Visual Studio发布。

使用.a bowerrc文件的相同方法适用于MVC4网站(至少如果您使用的是Visual Studio 2015)。但是,它也会被检入版本控制,因此它可能不是您想要的。

.bowerrc文件可用于执行各种操作(请参阅http://bower.io/docs/config/)。但是,要让Bower在〜/ scripts / lib中向项目添加脚本,只需添加以下json:

{
  "directory": "scripts/lib"
}