[英]How can I run nodemon from within WebStorm?
我想在 WebStorm IDE(版本 7)中使用nodemon 。 當其中一個源文件發生更改時,Nodemon 監視我的源文件夾中的一個或多個文件並重新啟動節點進程(在本例中為 Express 服務器)。
如何配置 WebStorm 在Run Configuration中使用nodemon ,以便節點進程自動重啟?
沒有nodemon ,我在 WebStorm 中使用以下配置,但每當我更改源文件中的某些內容時都必須重新啟動節點進程:
/usr/local/bin/node
/Users/foo/test
server.js
這會導致在指定目錄中運行node server.js
的運行配置。
在命令行中,我可以使用以下命令來使用nodemon來監視文件更改:項目目錄中的nodemon server.js
。
我需要如何更改 WebStorm 配置以便它也使用nodemon ?
看起來不再需要--exec
的解決方法,至少在使用最新版本的nodemon和 Webstorm 7 或 8 時是這樣。
您所要做的就是通過在控制台中運行which nodemon
(例如/usr/local/bin/nodemon
)在“節點參數”下獲取其路徑來指定nodemon的路徑:
@Bela Clark,感謝您的確認。
這是 Windows 解決方案
您可以直接使用 nodemon.cmd 而不是 node ,例如:
Node interpreter : C:\MyPath\To\nodemon.cmd
Node parameters : /*Empty for me*/
Node WorkingDirectoy : C:\Users\MyUserName\Desktop\DirectoryContainingMyIndex.js
JavaScriptFile : app\index.js /*or just index.js depending on your config*/
然后:
希望它會幫助你。
要安裝nodemon ,請使用以下命令(如果需要,請使用sudo以 root 權限運行安裝:
npm install -g nodemon
這將在您的機器上全局安裝nodemon 。
然后,在您的 WebStorm Run Configuration 中,添加以下內容,保持其他所有內容不變:
/usr/local/bin/nodemon --exec /usr/local/bin/node
這將指示節點解釋器使用以下命令行執行nodemon
腳本: node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js
。
--exec
部分很重要,因為執行將失敗並顯示以下錯誤:
/usr/local/bin/node /usr/local/bin/nodemon server.js
4 Oct 13:56:50 - [nodemon] v0.7.10
4 Oct 13:56:50 - [nodemon] to restart at any time, enter `rs`
4 Oct 13:56:50 - [nodemon] watching: /Users/foo/test
execvp(): No such file or directory
4 Oct 13:56:50 - [nodemon] starting `node server.js`
4 Oct 13:56:50 - [nodemon] exception in nodemon killing node
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
該錯誤似乎是由 WebStorm 沒有在其路徑上看到node
可執行文件引起的。
對此的修復是使用--exec /usr/local/bin/node
參數指定node
可執行文件的位置。
使用這些設置, nodemon在從 WebStorm運行配置運行時可以正常工作。
同樣的技巧可能必須與一些類似於nodemon的工具一起使用,例如node-supervisor 。
我在 Windows 上,對我來說沒有與 nodemon 一起工作(不知道為什么),但是來自 Jetbrains 的人建議與主管一起嘗試:
我安裝了主管: npm install supervisor -g
然后找到supervisor
安裝在哪里,對我來說是在: C:\\Users\\AlinC\\AppData\\Roaming\\npm\\node_modules\\supervisor\\lib\\cli-wrapper.js –no-restart-on error
我回到 Intellij:編輯配置 -> 節點參數 -> 並添加:C:\\Users\\AlinC\\AppData\\Roaming\\npm\\node_modules\\supervisor\\lib\\cli-wrapper.js –no-restart-on error
對於 Windows 用戶設置:
節點解釋器:node.exe 的路徑,即 c:\\program files\\node\\node.exe
節點參數:C:\\Users\\YOURUSER\\AppData\\Roaming\\npm\\node_modules\\nodemon\\bin\\nodemon.js
您還可以使其與 nvm 一起使用,並且調試仍然有效。
使用 Node.js 8.1.0 和 Webstorm 2017.2 進行測試
首先確保您使用的是正確的版本(在我的情況下為 v8.1.0)並全局安裝 nodemon -
nvm use v8.1.0
npm install -g nodemon
然后,打開運行/調試配置並使用正確的節點解釋器創建一個新配置。
節點參數應該是:
MAC
/Users/[YOUR_USER]/.nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001
LINUX
/usr/local/nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001
以響應方式保存和調試 :)
這是在 Windows 7 + WebStorm 8.0.4 上適用於我的配置。 如果我將 nodemon.cmd 作為節點解釋器,我會不斷收到“終止批處理作業(是/否)?”。
其中一些答案似乎僅適用於 Mac。 對於 Windows,此配置似乎有效(我在 Windows 7 上的用戶名是 denman)。
main.js 是我的 Express 應用程序的起點文件。
只需向package.json
添加名為 nodemon 的新腳本(或選擇您自己的名稱)
"scripts": {
...
"nodemon": "nodemon ./bin/www"
}
然后轉到運行/調試配置並添加npm配置。 設置
僅將節點的路徑更改為 nodemon.cmd,在我的情況下 (C:\\Users\\Rohit Taneja\\AppData\\Roaming\\npm\\nodemon.cmd),在安裝完 nodemon 后,您還將獲得此路徑。
你很高興去
每@bernhardw 評論,因為這是我的答案 -
所有需要的是node parameters
下的/usr/local/bin/nodemon
當它在更改時重新啟動時適用於運行和調試,但使用斷點調試不起作用。
獎勵:添加 -e 以獲得更多擴展,例如/usr/local/bin/nodemon -e js,html,jade
(操作系統 10.10.5,紅寶石 7.1.4)
HTH
npm install -g nodemon
1* goto run->Edit Configurations->Press'+' at left corner and choose Node.js
2* Select Node.js and Press '+'
3* Name as Nodemon, add path in javaScript file: C:\Users\Your_User_Name\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js
4* Click Apply and Ok
5* Run the Nodemon
這是對我遇到的錯誤的修復...
如果您使用的是 Windows + NodeJS + nodemon。 使用 IntelliJ - 運行配置。
ERROR: starting inspector on failed: address already in use
當我使用 nodemon 1.19.1 版時,出現錯誤。 當我使用 nodemon 1.18.11 版時,它可以工作!
祝你好運...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.