日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure

發布時間:2023/12/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【題外話】

上次介紹了VS上開發Node.js的插件Node.js Tools for Visual Studio(NTVS),其提供了非常方便的開發和調試功能,當然很多情況下由于平臺限制等原因需要在其他機器上運行程序,進而需要遠程調試功能,不過還好,NTVS提供的遠程調試也非常方便。

?

【系列索引】

  • 在Visual Studio上開發Node.js程序——NTVS介紹及使用
  • 在Visual Studio上開發Node.js程序(2)——NTVS遠程調試及發布到Azure
  • ?

    【文章索引】

  • NTVS遠程調試
  • NTVS部署到Azure
  • ?

    【一、NTVS遠程調試】

    NTVS提供了一個遠程調試代理(Remote Debug Proxy)來實現遠程調試,實際上就是不讓Node.js直接運行要調試的程序,而是去運行遠程調試代理,再由代理去執行程序以及與VS進行通信。

    獲取NTVS提供遠程調試代理可以在VS里點擊“工具”->“Node.js Tools”->“Remote Debugging Proxy”->“Open Container Folder”,文件夾中的RemoteDebug.js就是了。

    RemoteDebug.js的參數為:

    node RemoteDebug.js [args] <script to debug> [script args]

    即RemoteDebug.js后跟遠程調試代理的參數,然后跟待調試代碼文件,最后跟待調試代碼文件的參數,其中遠程調試代理支持的參數有:

    -localport <port num>:本機機器(NTVS所在機器)的端口號,默認為5859

    -machineport <port num>:目標機器(執行程序的機器)的端口號,默認為5858

    -waitforattach:當附加成功后才執行程序,默認為在目標機器上執行完腳本立即執行程序

    -breakatentrypoint:從第一條入口代碼處斷點,即執行待調試代碼時使用--debug-brk參數,默認為--debug

    所以如果按默認設置的話,我們只需要把RemoteDebug.js與待執行的代碼一同復制到目標機器上,然后執行如下語句就可以了:

    node RemoteDebug.js server.js

    如果正確的話會出現類似下圖的內容:

    然后在VS中選擇“工具”->“附加到進程”,然后在傳輸里選擇“Node remote debuggin (unsecured)”(如下圖)。

    然后在限定符里輸入目標機器的地址和端口然后鍵入回車即可,正確的話將會在下方出現目標機器(如下圖),最后點擊“附加”即可。

    接下來就如同在本地調試一樣非常簡單了。

    ?

    【二、NTVS部署到Azure】

    部署Node.js的方式有很多種,比如可以部署在Azure的網站或者云服務(Web Role方式)上等,目前NTVS只支持前者。由于Azure網站是通過IIS上的iisnode模塊實現對Node.js支持的,所以除了部署程序文件以外,還需要配置iisnode,也就是配置Web.config文件。在NTVS里,對Azure網站的支持體現在其兩個Azure項目模板中,即在使用這兩個項目模板創建項目后,會自動生成配置文件,以方便部署使用。當然傳統的方法比如自己上傳文件或通過代碼庫上傳文件(參見相關鏈接3)部署到Azure網站或者通過Web Role方式部署到云服務(參見相關鏈接4)等就不再贅述,微軟網站上都有詳細的文章。

    對于NTVS創建的Azure項目,默認包括兩個Web.config文件,分別是本地測試用的Web.config以及部署到Azure上的Web.cloud.config,兩個可以分別修改,其中后者在上傳時會自動修改名稱為“Web.config”。

    發布過程與其他項目一樣,可以自己創建配置文件發布到指定文件夾或者FTP等等都可以。對于Windows Azure的項目,可以在發布對話框的第一步“配置文件”頁面中選擇“導入”按鈕,然后選擇“從 Windows Azure 網站導入”,然后點擊登錄就可以輸入自己的Windows Azure的用戶名和密碼,登錄成功后就會如下圖所示,然后在下方選擇要發布的Azure網站即可。

    確定后VS會自動從Windows Azure上下載指定網站的配置信息,然后在第二步的“連接”中設置好連接信息,然后一路下一步就可以將項目文件部署到Azure網站上了。其中在最后一步,可以點擊“開始預覽”查看或選擇要上傳的文件,對于Azure網站,其實只需要上傳所有js文件、Web.config文件以及用到的相關靜態文件即可,bin目錄及package.json和README.md都不需要上傳。其中配置文件僅選擇Web.config文件即可,發布時會自動使用Web.cloud.config文件的,而如果選擇Web.cloud.config文件的話,則上傳后的文件名為“Web.cloud.config”。

    不過不知道為什么在我這,在發布成功后訪問Azure網站會提示“You do not have permission to view this directory or page.”,就跟沒有正確配置Web.config一樣,所以只能重新上傳一遍Web.config來解決。不過如果不修改Web.config文件話,之后發布時僅發布js等文件就可以了。

    ?

    【相關鏈接】

  • Debugging Node.js running on Linux:http://nodejstools.codeplex.com/wikipage?title=NodeJSOnLinuxOnAzure
  • Azure Deployment:http://nodejstools.codeplex.com/wikipage?title=AzureDeployment
  • 構建 Node.js 網站并部署到 Windows Azure:http://www.windowsazure.cn/zh-cn/develop/nodejs/tutorials/create-a-website-(mac)/
  • 構建 Node.js 應用程序并將其部署到 Windows Azure 云服務:http://www.windowsazure.cn/zh-cn/develop/nodejs/tutorials/getting-started/
  • 總結

    以上是生活随笔為你收集整理的在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。