摘要:[Visual Studio]NTVS - Node.js Tools For Visual Studio Bootcamp
Intro
NTVS是微軟上個月底新發行的一個VS tool,幫助開發者使用地表最強IDE工具開發NodeJS!除了支援可以一般的程式撰寫它還支援Intellisense, Profiling, npm,另外他在Debugging方面還支援 locally and remotely (Windows/MacOS/Linux),最棒的是他整合了Azure Web Sites 與 Cloud Service.
所支援的功能包含:
- node projects
- Intellisense
- Debugging (local & remote with support for Linux and MacOS)
- Profiling
- node REPL with multi-line editing
- Integrated npm GUI
- Azure Web Sites
- Azure Cloud Service
- Git publishing
目前visual studio 2012與2013都可使用(2010與08只能殘念),整個NodeJS Application從開發、測試到發佈都可以透過VS來完成!真的不愧對"地表最強"這四個字阿!現在就讓我們趕快來安裝與使用吧!
Setup
安裝上蠻簡單的只要依序完成下面幾個動作即可
- 先下載並安裝NodeJS
- 下載並安裝NTVS
-
安裝完成後打開VS選擇New Project->Installed->Templates->Other Languages->Javascript就可以看到六個新的專案類型
-
From Existing Node.js code
用現有的NodeJs程式建立新的專案
-
Blank Node.js Console Application
建立一個空白的NodeJs Console專案(偏向一般桌面程式應用)
-
Blank Node.js Web Application
建立一個空白的NodeJs Web專案
-
Blank Express Application
建立一個空白的Express(NodeJs的一種開發架構下面會再提到)專案
-
Blank Windows Azure Node.js Application
建立一個支援Windows Azure publish整合的NodeJs專案
-
Blank Windows Azure Express Application
建立一個支援Windows Azure publish整合的Express專案
-
Hello world with Blank Node.js Web Application
這邊我們選擇Blank Node.js Web Application來實作我們第一個NTVS的Hello world
1. 在專案這邊選擇建立新的Blank Node.js Web Application,這邊會幫我們建立以下資料
server.js預設的內容如下:
var http = require('http');
var port = process.env.port || 1337;
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(port);
2.然後直接按下f5執行,就可以看到跑出一個node.exe的執行顯示port 5858 被監聽中,然後去看他開啟的網頁
Hello world已經幫我們開好瞜~
Hello world with Blank Express Application
這邊我們換成用選擇Blank Express Application來作我們第二個NTVS的Hello world
1. 在專案這邊選擇建立新的Blank Express Application,在專案建立後會幫我們透過NPM來載入需要的模組
順邊會幫我們建立express架構所需的資料(如果模組載入失敗會像下圖一樣顯示missing,可以右鍵手動去更新他的版本或來源或是解除安裝等設定)
2.然後直接按下f5執行,就可以看到跑出一個node.exe的執行顯示port 5858 被監聽中,然後去看他開啟的網頁
第二個Hello world也幫我們開好瞜~
針對NPM與Express的部分先前在講MAN這個架構的時候已經有介紹過,NPM請參考這邊若是想知道express架構上的內容請參考這邊
Still need improve
官方已知的問題(其他更多小問題請上論壇看更多瞜,但我覺得都不影響使用就是了)
- Intellisense fails on large projects (JS lang service timeout issue)
- REPL: no intellisense
但如果要我選IDE工具,我選一百次一定都是選VS!!BJ4
Other Tips
在Node web application開發上面現在有幾個比較有名的套件
- Express(會在搭配Jade來做)
- Restify
- Node-perfectapi
- partialJs
而我之後會在分享最近比較感興趣的partialJs,為什麼會感興趣哩!簡單看他幾個特色瞜BJ4
-
Light
-
Can use own Route or WebSocket
-
More Features support for viewengine
-
Auto LESS CSS
-
No dependencies and Faster