在Visual Studio上开发Node.js程序
【题外话】
最近准备用Node.js做些东西,于是找找看能否有Visual Studio上的插件以方便开发。结果还真找到了一个,来自微软的Node.js Tools for Visual Studio(NTVS),虽然现在仅发布了1.0 Alpha版本,但使用起来已经非常方便。而且,其开发团队与Python Tools for Visual Studio(PTVS)是同一个,而PTVS就是Visual Studio 2013中要创建自带的Python项目需要安装的那个程序,所以大可放心的使用NTVS。
【系列索引】
- 在Visual Studio上开发Node.js程序——NTVS介绍及使用
- 在Visual Studio上开发Node.js程序(2)——NTVS远程调试及发布到Azure
【文章索引】
- NTVS介绍与安装
- NTVS项目创建和使用
- NTVS项目的调试
- NTVS项目的包管理
【一、NTVS介绍与安装】
从其官网(http://nodejstools.codeplex.com)上可以找到其介绍,NTVS是一个使Visual Studio成为Node.js集成开发环境的免费、开源的插件,NTVS支持编辑、Intellisense、Profiling、npm包管理器、本地以及远程调试(Windows、MacOS及Linux),同时其支持Windows Azure网站及云服务。
总之,该有的都有了。如果要安装NTVS的话,需要VS 2013或2012 Update4的Professional(或Test Professional)、Premium或Ultimate版本,同时需要安装有Node.js的0.10.20或以上的版本,有了这些准备后,就可以去官网下载安装包进行安装了,需要注意的是,VS 2013和2012的安装包是各自独立的。
安装完成后,就会在Visual Studio的JavaScript类型中多出以下的项目类型:
【二、NTVS项目创建和使用】
对于Node.js而言,项目类型并不像.NET项目有这么多不同的类型,每种之间的开发环境等还有差异。对于上面的Blank Node.js Console Application和Web Application两个项目而言,无非就是前者模板的代码只提供了在控制台输出Hello World的代码;而后者则用Node.js创建了一个Http服务器,并为每个请求都输出Hello World罢了,即实现了一个简单的Web应用程序。而Express Application则是使用Node.js上的Express框架+Jade模板引擎+Stylus实现了一个小的Web应用程序。而剩下的第一个项目则是从已有的Node.js项目中创建,后两个与其他的类似,只不过已经配置好了脚本和配置文件等可以直接部署到Windows Azure中。
项目创建后与Visual Studio的C#等项目没有太大区别,Intellisense功能也非常强大,敲入require的时候会提示所有的模块名称,同时选择每个模块的时候会提示这个模块的作用和说明(如下图),然后键入回车可以直接补齐单引号等等,都非常方便。而对于每个模块,其所有方法和成员变量也都能自动显示出来,只不过不像require那样会显示说明信息。
【三、NTVS项目的调试】
NTVS项目调试的方式与C#一样,都是F5运行并调试和Ctrl+F5只运行不调试,其会自动运行已安装的Node程序执行当前项目的代码。对于Web Application项目并且使用了使用了http模块的话,还会自动打开浏览器访问指定的端口(可以在项目属性中关闭)。需要说明的是,对于Node.js项目,有且仅有一个启动文件(即使用node.exe执行的文件,相当于程序的Main()函数),程序从这个文件的开始执行,默认情况下项目创建后第一个创建的js文件为启动文件,启动文件用粗体表示。如果需要设置其他文件为启动文件,右键单击选择设置就可以了(如下图) 。
在调试过程中,与其他项目一样,都可以设置断点、单步执行以及监视什么的都是可以用的,同时如果在程序代码中抛出了异常,在调试过程中也会提示出来(如下图)。
默认情况下,所有异常都将提示,当然也可以自己选择哪些异常不提示。可以在提示了异常之后选择“打开异常设置”,或者选择“调试”菜单,选择“异常”,如下图:
【四、NTVS项目的包管理】
NTVS还提供了非常方便的包管理方式,就如同在C#项目中添加引用一样方便的添加其他包。当然也可以自己使用npm安装相应的包,然后在项目中使用,虽然调试运行没有问题,不过这样是没有Intellisense提示的。所以,如果项目中需要其他的包,可以右键单击npm,选择“Manage npm Modules...”(如下图),在npm包管理器中右侧的包名称中输入包的名称,然后点击下方的本地安装(为当前项目安装)就可以了,完成后会在左侧出现已安装的包,然后在项目中require也会出现相应的包名,在使用包的时候也会有方法成员的提示等等。
安装完包后就会在解决方案管理器的npm下出现相应的包名,与C#项目添加引用类似。同时,与执行npm ls命令一样,也是可以查看包的依赖关系的(如下图)。
【相关链接】
- Introducing node.js Tools for Visual Studio:http://www.hanselman.com/blog/IntroducingNodejsToolsForVisualStudio.aspx
- [Visual Studio]NTVS - Node.js Tools For Visual Studio Bootcamp:http://www.dotblogs.com.tw/blackie1019/archive/2013/12/27/136557.aspx
- Microsoft Joins Forces with RedGate and Clickberry to Offer Node.js Tools for Visual Studio:http://www.infoq.com/news/2013/12/NTVS
转载于:https://www.cnblogs.com/lonelyxmas/p/3561941.html
在Visual Studio上开发Node.js程序相关推荐
- 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure
[题外话] 上次介绍了VS上开发Node.js的插件Node.js Tools for Visual Studio(NTVS),其提供了非常方便的开发和调试功能,当然很多情况下由于平台限制等原因需要在 ...
- 如何用 Visual Studio 2017 开发 Arduino 应用程序
如何用 Visual Studio 2017 开发 Arduino 应用程序 使用Visual Studio 2017 开发 Arduino 应用程序需要两个软件: Visual Studio Vis ...
- Smobiler 4.4 更新预告 Part 1(Smobiler能让你在Visual Studio上开发APP)
在4.4版本中,大家对产品优化的一些建议和意见进行了相应的优化和修复,同时,还新增了一些令人激动的功能和插件. 下面先为大家介绍4.4版本中Smobiler的优化和修复: 优化 1, PageView ...
- 将Visual Studio打造成为Node.js IDE
原文地址:http://www.csdn.net/article/2013-11-22/2817594-Introducing-node.js-Tools-for-Visual-Studio 之前,C ...
- 玩儿转物联网IoT - 在Beagle Bone Black上运行node.js 程序
物联网(IoT)技术方兴未艾,智能手环,智能血压计,智能眼镜甚至智能鞋垫都开始进入我们的生活,各种智能设备层出不穷,世界已经到了一个"人有多大胆,地有多大产"的时代,不玩儿点物联网 ...
- Visual Studio上开发Python?你不可不知道的六大功能!
Visual Studio 2013/2015 搭配 Python Tools for Visual Studio 扩充套件让 Visual Studio 能提供对 Python 程序语言高度整合的开 ...
- CMake结合Visual Studio中开发Qt应用程序注意事项
Qt工程管理 个人比较偏爱于使用CMake来管理C++工程,因为只要编写一个CMakeLists.txt文件,就可以在Windows和Mac上生成各自的IDE工程.在Windows上, CMake自然 ...
- Vue.js+Node.js全栈开发教程:通过Visual Studio Code开发调试Node应用
目前,有多种开发工具可以支持Node.js应用的开发,比如: jetBrains WebStorm.Eclipse.Visual Studio Code等.这些开发工 具原则上是"条条大路通 ...
- 【实验手册】使用Visual Studio Code 开发.NET Core应用程序
.NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...
最新文章
- 适合产品经理的十本书 From 俞军
- 高性能缓存服务器 Nuster
- java经典算法四十题
- ASP.NET WebForm和Mvc开发的比较
- HadoopHA集群搭建
- 读取寄存器值_温湿度传感器与S7-1200 PLC通讯读取温湿度案例
- Daily scrum 10.12
- 【数据分析面试】大厂高频SQL笔试题(二)
- 硬核,创业公司就应该技术选型 Spring Cloud Alibaba, 开箱即用
- 批量下载Landsat快视图,为批量下载Landsat Level1数据做准备
- 计算机网络设计大赛总结,计算机技能大赛总结#.doc
- 关于VISIO2013显示首要事项闪退问题
- 'Did you install mysqlclient or MySQL-python?' % e 'Did you install mysqlclient or MySQL-pyth
- 蚁群算法求解TSP问题
- Spring AOP 学习笔记
- 服务器被植入挖矿木马的心酸过程
- soc 设计soc设计 uml实务手册_企业内训“领域建模和领域驱动设计”训练方案(2020年)...
- 编写程序,输入一个较小的实数deta,利用e=1+1/1(嘿哈)+1/2(嘿哈)+1/3(嘿哈)+⋯+1/n(嘿哈)计算e的近似值,直到最后一项的绝对值小于deta时为止,输出此时e的近似值。
- AXI接口协议学习总结
- SpringBoot的开发(3)--前端页面的搭建、前端页面的编写、分页和增删改查功能的实现...
热门文章
- php function 输出,PHP中常用的输出函数总结
- 输入输出系统 2--- 中断(未完)
- 【图像超分辨率】MSAN:Scene-Adaptive RS Img SR a Multiscale Attention
- paradox 修改字段长度_关于生日的作文500字9篇
- 写代码?程序猿?你不能不懂的八大排序算法的Python实现
- linux 网络RPS/RFS/XPS
- C语言编译流程:预处理、编译、汇编、链接
- 在村镇银行存款,银行先把利息全给了,这种存款安全吗?
- 有没有哪种贷款不用利息,而且门槛又低?
- 看“意大利文艺复兴艺术展”(1)