Visual Studio的JavaScript项目类型?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

我有一个任务,涉及创建一个JavaScript库,然后将被Visual Studio解决方案中的多个项目使用。理想情况下,我想找到一个项目类型,对于我的JavaScript代码,其行为就像是C#类库一样,即:

  • 它会将JavaScript代码“编译”(缩小,检查通过Closure,...)到某个输出** .js *文件中
  • 这个输出可以被其他项目“引用”,例如通过ASP.NET MVC项目
  • 我可以指定我的项目的“构建顺序”(标准VS功能)

这可能与VS 2010/11或我需要写一些BAT / PowerShell文件并自己编写脚本吗?

类似,但稍有不同的问题:用于JavaScript / VBScript的Visual Studio项目模板?

提问于
用户回答回答于

好问题(+1)。我的决定是把所有的JavaScript通用文件分开的JavaScript项目,并使用链接的文件到Web / MVC项目中需要的JS文件。

这样你就有可能从JavaScript项目一侧使用subversioning控制,并使用所有可用工具压缩和合并来自单独常规项目一侧的js文件。

用户回答回答于

根据我开发Asp.Net MVC的经验,Visual Studio对JavaScript的支持有限。我想你可以做些什么来模仿你想要的行为:

  1. 创建一个项目来存储你的JavaScript文件,或许是一个类库项目,它并不重要,只要它支持生成事件。将你的JavaScript文件放入新项目中。
  2. 在此项目上创建后期构建步骤,以便使用外部工具最小化JavaScript。我使用YUI压缩机。您的构建后步骤应该包含类似于以下内容的行: java -jar $(ProjectDir)Scripts \ yuicompressor-2.4.7.jar $(SolutionDir)Scripts \ yourJsFile.js -o $(SolutionDir)Scripts \ yourJsFile.min.js --charset utf-8
  3. 在解决方案中包含这个新项目。然后,对于您的Asp.Net项目,设置您的Active Server Pages以便它们引用JavaScript文件,我使用Razor语法作为示例。具体到正确的路径可能会很棘手:

@if (@Model.IsDebug) { <script src="@Url.Content("~/Scripts/yourJsFile.js")" type="text/javascript"> </script> } else { <script src="@Url.Content("~/Scripts/yourJsFile.min.js")" type="text/javascript"></script> }

再次,确保您可以准确地引用Asp.Net项目中的JavaScript文件可能会非常棘手。但我确信有一种方法可以做到这一点。也许你可以让你的后期构建步骤将JavaScript文件复制到一些常见的位置。如果你这样做,你也会想把你的JavaScript项目的构建事件标记为“永远运行”,所以JavaScript文件总是被复制。

扫码关注云+社区