2016-04-24 71 views
3
"scripts": { 
    "build": "babel src -d lib", 
    "start": "node --use_strict ./lib/index.js", 
    "watch": "nodemon lib/index.js --exec npm run build" 
} 

使用命令npm run watch結果如下錯誤的命令正在運行:[nodemon] starting "npm lib/index.js run build"如何在npm腳本中使用nodemon來構建和啓動腳本?

我怎麼會寫nodemon命令,重新加載,使用巴貝爾transpiles代碼並重新加載代碼?

回答

6

您可以簡單地使用babel-node來運行您的代碼以避免顯式的轉譯。

$ nodemon lib/index.js --exec babel-node --presets=es2015,stage-2 

好像使用nodemonbabelthis is the recommended方式。

請注意,運行--exec可能遠程運行您的development環境時,你localhost

+0

什麼包,我需要安裝運行通天節點? NPM說,babel-node不在存儲庫中,即使我已經通過npm安裝了babel-cli,運行給定的命令說babel-node不可用。 – Connorelsea

+0

'babel-cli'是正確的。您應該全局安裝它或將執行路徑更改爲'./ node_modules/.bin/babel-node'。 –

+0

我在項目中全局和本地安裝了'babel-cli',並且出現以下錯誤。 http://i.imgur.com/UwXaPTz.jpg – Connorelsea

0

一個更好的選擇將是不使用全局安裝,而是使用本地安裝包有意想不到的副作用。這也有助於自動化構建,可以按照每個12因子應用程序設計與本地機器設置相同的設置。

"scripts": { 
"watch": "node ./node_modules/nodemon/bin/nodemon.js" 

}

+0

可以請你解釋一下。 –

+0

不是在cli中全局使用nodemon,而是使用上面的代碼,您可以在npm腳本中使用--save或--save-dev,節點./node_modules/nodemon/bin/nodemon.js調用本地安裝的軟件包或cli cmd。還要添加我需要傳遞的任何參數。基本上不是使用全局標識符調用它,而是直接從解決方案結構中調用它。這有助於您的團隊以及他們都將使用相同的版本,如果該軟件包在一段時間內在多個工作站上全局安裝,則版本很可能不同。 –