当前位置: 首页 > 科技观察

在VisualStudio上开发Node.js程序

时间:2023-03-14 22:57:20 科技观察

题外话。最近打算用Node.js做点什么,于是在VisualStudio上找了个插件方便开发。结果,我找到了一个,来自Microsoft的Node.jsToolsforVisualStudio(NTVS)。虽然只发布了1.0Alpha版本,但使用起来非常方便。而且它的开发团队和PythonToolsforVisualStudio(PTS)一样,而PTVS是VisualStudio2013创建内置Python工程需要安装的程序,所以大家可以放心使用NTVS。1.NTVS介绍和安装你可以在它的官网(http://nodejstools.codeplex.com)找到它的介绍。NTVS是一个免费的开源插件,它使VisualStudio成为Node.js集成开发环境。NTVS支持编辑、Intellisense、Profiling、npm包管理器、本地和远程调试(Windows、MacOS和Linux),它支持WindowsAzure网站和云服务。总之,该有的都有。如果要安装NTVS,需要VS2013或2012Update4的Professional(或TestProfessional)、Premium或Ultimate版本,并且需要安装Node.js0.10.20或以上版本。这些准备工作完成后,就可以去官网下载安装包并安装了。需要注意的是VS2013和2012的安装包是独立的。安装完成后,在VisualStudio的JavaScript类型中会出现以下项目类型:2.NTVS项目的创建和使用对于Node.js来说,项目类型没有.NET项目那么多。物种之间的发育环境也存在差异。对于以上两个项目BlankNode.jsConsoleApplication和WebApplication,无非是前一个模板的代码只提供了在控制台输出HelloWorld的代码;而后者是用Node.js创建一个Http服务器,每次请求只输出HelloWorld,即实现了一个简单的web应用。ExpressApplication是一个使用Express框架+Jade模板引擎+StylusonNode.js实现的小型Web应用程序。剩下的第一个项目是从现有的Node.js项目创建的,后两个和其他的差不多,只是脚本和配置文件已经配置好了,可以直接部署到WindowsAzure上。项目创建后,与VisualStudio的C#等项目没有太大区别。智能感知功能也很强大。输入require时,会提示所有的模块名。同时,在选择各个模块时,会提示该模块的功能和描述(如下图),然后回车直接填写单引号等,非常方便。对于每个模块,它的所有方法和成员变量也可以自动显示,但不会像require那样显示描述信息。3.NTVS工程的调试NTVS工程的调试方法和C#一样,都是F5运行调试和Ctrl+F5只运行不调试,会自动运行安装好的Node程序执行代码当前项目的。对于使用了http模块的WebApplication项目,浏览器会自动打开指定的端口(可以在项目属性中关闭)。需要注意的是,对于一个Node.js项目来说,只有一个启动文件(即node.exe执行的文件,相当于程序的Main()函数),程序从这个文件的开头。默认情况下,项目创建后创建的第一个js文件是启动文件,启动文件用粗体表示。如果需要将其他文件设置为启动文件,右击选择设置(如下图)。在调试过程中,和其他项目一样,可以设置断点,单步执行,监控。同时,如果程序代码中抛出异常,在调试过程中也会提示(如下图)。默认情况下,所有的异常都会提示,当然你也可以选择不提示哪些异常。可以在提示异常后选择“打开异常设置”,或者选择“调试”菜单,选择“异常”,如下图:4.NTVS项目的包管理NTVS也提供了一个非常方便的包管理方法,就像在C#中添加其他包一样简单,就像添加对项目的引用一样。当然你也可以自己使用npm安装相应的包,然后在项目中使用。虽然调试运行没有问题,但是这种方式没有Intellisense提示。因此,如果你需要项目中的其他包,可以右击npm,选择“ManagenpmModules...”(如下图),在npm右侧的包名中输入包名packagemanager,然后点击下面的本地安装(为当前项目安装)就可以了。完成后左边会出现安装包,然后项目中的require中也会出现相应的包名。在使用包的时候,也会有方法成员等提示,包安装完成后,在解决方案管理器中的npm下会出现对应的包名,类似于添加对C#项目的引用。同时,和执行npmls命令一样,还可以查看包的依赖关系(如下图)。相关链接VisualStudio的node.js工具简介:http://www.hanselman.com/blog/IntroducingNodejsToolsForVisualStudio.aspx[VisualStudio]NTVS-VisualStudioBootcamp的Node.js工具:http://www.dotblogs.com.tw/blackie1019/archive/2013/12/27/136557.aspxMicrosoft与RedGate和Clickberry联手为VisualStudio提供Node.js工具:http://www.infoq.com/news/2013/12/NTVS原文链接:http://www.cnblogs.com/mayswind/p/3547413.html