Visual Studio的JavaScript项目类型?

Bor*_*ard 49 javascript visual-studio-2010 visual-studio visual-studio-2015

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

  • 它将"编译"(缩小,通过Closure检查,......)将JavaScript代码转换为某些输出**.js*文件
  • 此输出可以由其他项目"引用",例如,通过ASP.NET MVC项目
  • 我可以指定我的项目的"构建顺序"(标准VS功能)

这可能与VS 2010/11一样,还是我需要编写一些BAT/PowerShell文件并自行编写脚本?

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

Boj*_* Li 9

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

  1. 创建一个项目来存储你的JavaScript文件,也许是一个它并不重要的类库项目,只要它支持构建事件.将您的JavaScript文件放在新项目中.

  2. 在此项目上创建一个post build步骤,以使用外部工具最小化JavaScript.我使用YUI Compressor.您的帖子构建步骤应包含类似于以下内容的行:

    Java的罐子$(PROJECTDIR)脚本\的YUICompressor-2.4.7.jar $(SolutionDir)脚本\ yourJsFile.js -o $(SolutionDir)脚本\ 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>
}
Run Code Online (Sandbox Code Playgroud)

再次确保您可以准确地引用Asp.Net项目中的JavaScript文件可能很棘手.但我确信有办法做到这一点.也许您可以让您的帖子构建步骤将JavaScript文件复制到某个公共位置.如果这样做,您还需要将JavaScript项目上的post build事件标记为"Always Run",因此始终会复制JavaScript文件.


Sau*_*ius 7

好问题(+1).我决定将所有javascript通用文件放在单独的javascript项目中,并使用链接文件到web/mvc项目中需要的js文件.

通过这种方式,您可以使用所有可用工具从javascript项目端使用subversioning控件,并从单独的常规项目侧压缩和合并js文件.