[转]Getting Start With Node.JS Tools For Visual Studio
Table of contents 1. Introduction 2. What Node.JS is 3. How to install Node.JS 4. Let's Start by Creation of a Simple App
- Pre-requites
- Create Skeleton/Empty ASP.Net project
- Discussing Node.JS templates
From Existing Node.JS code
- Blanks Node.JS Console Application
- Folder Structure
- Install/Update Node dependencies
Blanks Node.JS Web Application
- Folder structure
- Visual Studio Intellisence Experience
- Basic Node.JS Express 3 Application
- Folder Structure
- Running the application
- Analyzing app.JS
- Debugging App
- Node.JS Interactive Window
- Diagnostic Info
- Discussing features of Node.JS tools for Visual Studio
- Visual Studio IDE Flavor with Node.JS tools
- Debugging experience
- TypeScript support
- Blanks Node.JS Console Application
5. Conclusion
Introduction
What Node.JS is Node.JS is a tool for Visual Studio that enables the Node.JS working experience with your Visual Studio.
How to install Node.JS The following guide provides a procedure for installing Node.JS tools for Visual Studio. Please note that in this article we are using Visual Studio 2013 Update 4.
- Go to Node.JS Tools for Visual Studio
Figure 1: node.JS tools for Visual Studio - Choose recommended downloads
Figure 2: installation instructions for node.JS - Follow the instructions and it will install the great tools of Node.JS
Figure 3: Getting installation completed for node.JS
Let's Start Creation of a Simple App
In this article we will use builtin templates to start building simple apps.
Pre-requites To implement and play with the source code, one should have:
- Visual Studio 2013 express or later
- Node.JS Tools for Visual Studio
- Basic knowledge of Node.JS
Create Skeleton/Empty ASP.Net project
- Open Visual Studio 2013.
- Select "File" -> "New" -> "Project..." (or enter Ctrl + Shift + N).
- Under Installed Templates Select JavaScript -> Node.JS.
Figure 4: New Project Templates
Discussing Node.JS templates
Let's discuss the available templates, these may increase or decrease depending on your custom installation or add-ons.
From Existing Node.JS code You can use this template if you have already created a Node.JS app and now want to taste the flavor of Visual Studio. No need to do any special things, just choose this template and select the path of your existing Node.JS app and you're all done (y).
Blanks Node.JS Console Application This template creates an empty application, just a skeleton for you. Let's provide a hands-on experience with this template to learn more about it.
Figure 5: Selecting a new project template
Have a look at the preceding image and note that:
- Do not select "Create directory for solution".
- Do not select Add to source control (unless you want to).
Click Ok to get the application routed.
The first file you will see has the following code:
Just run the application (F5), you wil see your console window appears and disappears so quickly and you cannot see the expected output.
Let's re-write the code above (so we can hold our console window for a moment) as in the following:
In the preceding snippet just add the time our function to hold our window for 3000 ms.
That is a great thing, now we can see the output as in the following:
Figure 6: Console App output
Folder Structure Let's have a look into the folder structure:
re Figure 7: Typical node.JS console app folder structure
Here you can see that our console app consists of:
- npm: all Node.JS dependencies
- app.JS: our simple node.JS stuff a JavaScript file
- package.json: all about configuration, project details, version and author details and so on.
Figure 8: a typical package.json file - README.md: a normal readme file
Install/Update Node dependencies Just right-click on the project from the Solution Explorer and click on the Open Command Prompt.
Figure 9: Open the command prompt from Visual Studio
In the command prompt type "npm install".
Figure 10: Installing node.JS project dependencies
It will install all the dependencies required for the project.
Alternatively expand the "npm" node from the Solution Explorer and right-click the project and choose Update Install Package(s), it will update all the packages with the latest.
Also, you can do it by opening a npm install window above the option (Ctrl K,P):
Figure 11: Installing new npm package
Blanks Node.JS Web Application Now, let's try another node.JS template. Close the existing solution or just add a newer one and choose Blank Node.js Web Application template.
Figure 12: Getting started with Node.JS blank web template
The first file will open after the preceding action:
Figure 13: typical server.JS file
Run application (hit F5).
You will see two things happen:
- A command window invoked; this is saying that the node server is running on port 5858

- A web browser invoked with a output from the server.JS file (this is a default project file).

Folder structure
You can find a folder structure similar to the one in the node.JS Blank console app.
Figure 14: Typical folder structure of node.JS blank web app Visual Studio Intellisence Experience Let's try with writing something in the server.JS file, you will see that you get Visual Studio's typical intellisence.
So, you can get the flavor of all Visual Studio things the same as if you were getting when working with other languages like C# / ASP.NET and so on.
Basic Node.JS Express 3 Application This template provides the ability to create a basic Node.JS app with Express 3 packages
Figure 15: Node.JS Express 3 application
During the preceding operation you can see the following dialog.
So, your project has all the dependencies defined in the Package.json file.
If you clicked yes then you will definitely see the following message in the Visual Studio status bar.
Which tells us about the installing package. The amazing thing is this process happens in the background. That means you can work with your task at the same time.
If you clicked "No", don't worry, you can still install the packages, just open the Command Prompt by right-clicking the project name from the Solution Explorer and just type "npm install" and hit Enter.
Folder Structure Have a look into the following folder structure:
In the preceding you can see various folders containing different files. You can see views, routes, public and so on. In this article we are not going to discuss everything in details, we will do this in a future Node.JS series of articles.
Running the application Run the application (hit F5) and you will see:
- Command window

- Web browser

Analyzing app.JS
Let's get the code lines that were added by the default template.
The code above tells the Node.JS that these modules are required to run this app.
It will initialize our express.JS function.
This will only happen in a development environment.
the first line tells the main/home page and second will provide is the response of our resource.
Debugging App Put a breakpoint somewhere in your app.JS file.
Run the app (hit F5), see when it hits the breakpoint.
The great thing is that you can see the breakpoints in the Visual Studio Breakpoints window as in the following:
Here is the Call Stack window containing everything.
You can find the local variables and functions in your Locals windows.
Isn't it an imagine tool?
There are more templates that we will not discuss here, we will discuss and create a separate application using these templates in our future Node.JS article series. Until then enjoy the flavor of this new Node.JS tools for Visual Studio.
Node.JS Interactive Window You can find this window similar to the Visual Studio Command Window:
Go to Tools -> Node.JS Tool -> Interactive Window. Alternatively press Ctrl+K,N.
Figure 16: Node.JS interactive window
In this window you can play with all the Node.js commands, this is one of the most powerful windows I have ever found. If you have some confusion then just type .help and you will get a list of commands:
Let's play with a few of commands.
Figure 17: a list of available commands
Let's play with a few of commands.
Did you remember that we created a console app?
Here we can get the similar output. Did you notice "undefined"? What was that?
Figure 18: Defining a function in Node.JS Interactive Window
In the preceding, we just defined a function "letsTryThis". This is a simple JavaScript function. You can think how to run it from within the same window, let's try and call that function as in the following:
Figure 19: Executing defined function
Wow, it works! One more great thing you can get is the History by pressing the up or down error keys. So, enjoy the power of the Node.js Interactive Window (y).
Diagnostic Info You can get all the info about your current node.JS app (please note that the info depends upon your current node.JS app). Go to Tools -> Node.js Tools ->Diagnostic Info.
Figure 20: Diagnostic report of a typical node.JS console app
Figure 21: a typical MVC app with node.JS
Discussing features of Node.JS tools for Visual Studio Let's discuss a few of the great features of Node.JS tools for Visual Studio. Visual Studio – IDE Flavor with Node.JS tools
With the installation of this tool we can get all the flavor of Visual Studio IDE, we can see:
- Intellisence
- AutoComplete
- Signature help
Debugging experience
With this great tool we can put a breakpoint and DEBUG the application similar to other applications that run in Visual Studio.
TypeScript support
Node.JS tools for Visual Studio comes with the support of TypeScript, you can write your things using TypeScript.
In the preceding, we have almost tried to attempt all the features with valid examples. In future sessions we will create an entire application following great patterns.
Conclusion
Finally we will get the great thing Node.js tools for Visual Studio, it provides all the flavour of Visual Studio to develop Node.JS applications. This tool has many great features, it provides great Node.JS templates.
Gaurav is a Microsoft Technology Specialist professional. He has awarded lifetime membership from Computer Society of India (CSI). He is having more than 14yrs of experience in the industry. Currently, he is workin... Read more
[转]Getting Start With Node.JS Tools For Visual Studio的更多相关文章
- node.js Tools for Visual Studio 介绍
node.js Tools for Visual Studio简称NTVS 项目 安装包地址:https://nodejstools.codeplex.com 目前支持2012和2013
- Node.js tools for visual studio 在vs中使用Node.js
简单介绍 PTVS开发团队又开发出一款可以在VS里编写Node.js应用程序的插件——NTVS(Node.js Tools for Visual Studio),开发者可以在VS里轻松开发Node.j ...
- Node.js Tools for Visual Studio
https://www.visualstudio.com/en-us/features/node-js-vs.aspx
- [转]Node.js tutorial in Visual Studio Code
本文转自:https://code.visualstudio.com/docs/nodejs/nodejs-tutorial Node.js tutorial in Visual Studio Cod ...
- Node.js Tools 1.2 for Visual Studio 2015 released
https://blogs.msdn.microsoft.com/visualstudio/2016/07/28/node-js-tools-1-2-visual-studio-2015/ What ...
- php tools for visual studio 2013 完美 破解 Cracker
PHP Tools for Visual Studio 2013,这个是 目前在 Visual Studio 2010/2012/2013 中 下最好用的php插件了, 破解 好的 Cracker ...
- Python tools for Visual Studio插件介绍
Python tools for Visual Studio是一个免费开源的VisualStudio的插件,支持 VisualStudio 2010,2012与2013.我们想要实现的是: ...
- ODAC with Oracle Developer Tools for Visual Studio
c#开发Oracle数据库的时候,需要本机没有安装过 Oracle 客户端,直接下载 ODAC with Oracle Developer Tools for Visual Studio工具安装即可 ...
- 【Tools】-NO.89.Tools.4.Visual Studio 2017.1.001-【Visual Studio 2017 安装与卸载】-
1.0.0 Summary Tittle:[Tools]-NO.89.Tools.4.Visual Studio 2017.1.001-[Visual Studio 2017 安装与卸载]- Styl ...
随机推荐
- Studio for WPF:使用 C1TileView 创建图片库
C1TileView 提供了数据交互浏览的功能.允许我们设置最大化和最小化浏览模板,我们可以通过最小化模板快速定位详细浏览选项. 下面我们分步分享实现方法: 1.添加 C1TileView 到窗体,并 ...
- LeetCode126:Word Ladder
题目: Given two words (start and end), and a dictionary, find the length of shortest transformation se ...
- 2016 一中培训 day 5 ksum
又是一天的爆零!!!!! 原本第一题 很容易做 竟然优化过度 丢了答案 1693: ksum Time Limit 1000 ms Memory Limit 524288 KBytes Judge S ...
- 【iOS】Quartz2D截屏
一.简单说明 在程序开发中,有时候需要截取屏幕上的某一块内容,比如捕鱼达人游戏.如图: 完成截屏功能的核心代码:- (void)renderInContext:(CGContextRef)ctx;调用 ...
- mysql metadata lock锁
很多情况下,很多问题从理论上或者管理上而言都是可以避免或者说很好解决的,但是一旦涉及到现实由于管理或者协调或者规范执行的不够到位,就会出现各种各样本不该出现的问题,这些问题的通常在生产环境并不会出现, ...
- handler机制的原理(转)
Handler概述 andriod提供了Handler 和 Looper 来满足线程间的通信.Handler先进先出原则.Looper类用来管理特定线程内对象之间的消息交换(MessageEx ...
- winform(无边框窗体与timer)
一.无边框窗体 1.控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要放置的控件可以点击能触发点击事件就可以了 做的好看一点,就是鼠标移入(pictureBox1_MouseE ...
- 一个Chrome拓展——HttpPost
周末花了点时间做了一个chrome拓展,叫HttpPost,顾名思义是用来测试http的post请求. 先直接看效果 插件与拓展 在说这个做的过程前,先说明什么是Chrome插件.Chrome拓展 1 ...
- MUI - 将tap模拟成原生click体验
mui提供了tap事件替换了html5的click事件,解决了300ms延时的问题.不过相比原生app的click体验还是有些许差距的.关于300ms延时的问题,这篇帖子分析的比较完善,其中提到了穿透 ...
- javascript数组浅谈1
最近心血来潮要开始玩博客了,刚好也在看数组这块内容,第一篇就只好拿数组开刀了,自己总结的,有什么不对的地方还请批评指正,还有什么没写到的方面也可以提出来我进行完善,谢谢~~ 首先,大概说说数组的基本用 ...