最近準備用Node.js做些東西,於是找找看能否有Visual Studio上的外掛程式以方便開發。結果還真找到了一個,來自微軟的Node.js Tools for Visual Studio(NTVS),雖然現在僅發布了1.0 Alpha版本,但使用起來已經非常方便。而且,其Team Dev與Python Tools for Visual Studio(PTVS)是同一個,而PTVS就是Visual Studio 2013中要建立內建的Python項目需要安裝的那個程式,所以大可放心的使用NTVS。
【一、NTVS介紹與安裝】
從其官網(http://www.cr173.com/soft/73135.html)上可以找到其介紹,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項目,有且僅有一個開機檔案(相當於程式的Main()函數),程式從這個檔案的開始執行,預設情況下項目建立後第一個建立的js檔案為開機檔案,開機檔案用粗體表示。如果需要設定其他檔案為開機檔案,按右鍵選擇設定就可以了(如下圖) 。
在調試過程中,與其他項目一樣,都可以設定斷點、逐步執行以及監視什麼的都是可以用的,同時如果在程式碼中拋出了異常,在調試過程中也會提示出來(如下圖)。
預設情況下,所有異常都將提示,當然也可以自己選擇哪些異常不提示。可以在提示了異常之後選擇“開啟異常設定”,或者選擇“調試”菜單,選擇“異常”,如下圖:
【四、NTVS項目的包管理】
NTVS還提供了非常方便的包管理方式,就如同在C#項目中添加引用一樣方便的添加其他包。當然也可以自己使用npm安裝相應的包,然後在項目中使用,雖然調試運行沒有問題,不過這樣是沒有Intellisense提示的。所以,如果項目中需要其他的包,可以按右鍵npm,選擇“Manage npm Modules...”(如下圖),在npm包管理器中右側的包名稱中輸入包的名稱,然後點擊下方的本地安裝(為當前項目安裝)就可以了,完成後會在左側出現已安裝的包,然後在項目中require也會出現相應的包名,在使用包的時候也會有方法成員的提示等等。
安裝完包後就會在解決方案管理器的npm下出現相應的包名,與C#項目添加引用類似。同時,與執行npm ls命令一樣,也是可以查看包的依賴關係的(如下圖)。