首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Visual Studio的JavaScript项目类型?

Visual Studio的JavaScript项目类型?
EN

Stack Overflow用户
提问于 2012-03-03 05:43:52
回答 4查看 18.6K关注 0票数 49

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

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

在VS2010/ 11中这是可能的吗?还是我需要自己编写一些BAT / PowerShell文件并编写脚本?

类似但略有不同的问题:Visual Studio Project Template for JavaScript/VBScript?

EN

回答 4

Stack Overflow用户

发布于 2012-03-03 06:28:14

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

  1. 创建一个项目来存储您的JavaScript文件,也许是一个类库项目它实际上并不重要,只要它支持构建事件。将您的JavaScript文件放入新项目中。
  2. 在此项目上创建生成后步骤,以使用外部工具最小化JavaScript。我使用YUI Compressor。您的构建后步骤应该包含类似于以下内容的行:

java -jar $(ProjectDir)Scripts\yuicompressor 2.4.7.jar $(SolutionDir)Scripts\yourJsFile.js -o $(SolutionDir)Scripts\yourJsFile.min.js --charset utf-8

  • 将这个新项目包含在您的解决方案中。然后,对于您的Asp.Net项目,设置您的Active Server Pages,使其引用JavaScript文件,我正在使用Razor语法作为示例。不过,指定正确的路径可能很棘手:

@if (@Model.IsDebug) { } else { <script src="@Url.Content("~/Scripts/yourJsFile.min.js")“type="text/javascript"> }</div><div></blockquote></div><div>同样,要确保可以准确地引用Asp.Net项目中的JavaScript文件,可能需要一些技巧。但我相信有办法做到这一点。也许您可以让您的构建后步骤将JavaScript文件复制到某个公共位置。如果这样做,您还需要将JavaScript项目上的构建后事件标记为"Always Run",以便始终复制JavaScript文件。</div><div></div>

票数 9
EN

Stack Overflow用户

发布于 2012-04-12 16:31:59

问得好(+1)。我的决定是将所有的javascript通用文件放在单独的javascript项目中,并使用linked files在web/mvc项目中使用所需的js文件。

这样,您就可以使用javascript项目端的subversioning控件,并使用所有可用的工具从单独的通用项目端压缩和合并js文件。

票数 7
EN

Stack Overflow用户

发布于 2016-04-14 10:11:35

我对此真的很好奇!如果有人有其他/更好的想法,请@评论给我。

选项1:使用ASP.NET软件包的Web项目

如果你只想要一个前端的javascript项目,这是一个简单的选择。Web Essentials很容易在Visual Studio中使用和安装。您可以使用此选项来轻松缩小。然后,您可以使用Qunit进行测试。这是进入javascript客户端开发的一个非常简单和轻量级的入口点。

选项2: Visual Studio的Node.js工具

使用Node.js Tools for Visual Studio。它将为你提供很多这些好东西的项目模板。你可能最终不会使用node.js,特别是如果你只是在创建一个客户端的js库,但是拥有node.js对测试很有帮助,你会希望/需要npm安装我最初的回答中提到的所有其他好的东西(选项3)。

这个过程中涉及到大量的设置。对于一些.NET开发人员来说,这可能是一个进入的障碍。

选项3:网站项目

这是我过去做过的事情:

我实际上在Eclipse中创建了this project!(不要恨我)。后来,我使用网站项目创建了一个Visual Studio解决方案。我安装了node.js,这当然不是必需的,但我将它用作一个轻量级的web服务器。

然后,您可以使用Nuget或Bower来安装其他东西,如:

用于单元testing

  • grunt的模块management

  • jasmine的
  1. require.js或用于构建(minification)
  2. You的gulp可以安装jslint或jshint以进行代码更正。

并不是所有这些都是必需的。我认为Bower已经集成到Visual Studio 2015中了。其中一些将需要命令行构建,但是一旦设置好就没有什么命令可以运行了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9540773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档