[英]How to set up environment variables for node.js in NPM task
我有同時加載的npm
任務,節點檢查器和節點管理器。
{
"start": "concurrently --kill-others \"node-inspector\" \"set NODE_PATH=.&&supervisor -n error -- ./bin/www --debug\"",
"prestart": "start chrome http://localhost:3000 http://localhost:8080/debug?port=5858"
}
結果:
[1] set NODE_PATH=.&&supervisor -n error -- ./bin/www --debug exited with code 0
--> Sending SIGTERM to other processes..
[0] Node Inspector v0.12.7
[0] Visit http://127.0.0.1:8080/?port=5858 to start debugging.
但是當我嘗試localhost:3000
我得到了ERR_CONNECTION_REFUSED
。
問題1:我如何通過NODE_PATH=.
(或任何其他ENV變量)傳遞給主管-那么我的節點是否正常運行?
問題2:或者也許您知道,如何在npm
腳本中組織兩個監視任務? 例如: node-supervisor
和node-inspector
注1:如果我直接從命令行運行set NODE_PATH=.&&supervisor -n error -- ./bin/www --debug
- 效果很好。
注意2:如果我運行npm start
而沒有NODE_PATH=.&&
它運行良好但是節點錯誤 - 導致它無法找到模塊,例如require('helpers/log')
或者require('models/user')
因為我沒有想要將所有內容放置在node_modules
。
統計:
對於第一個問題,請查看方便的輔助模塊cross-env
它專為此目的而設計,易於使用。 只需使用cross-env
,你通常使用UNIX風格的環境,然后離開。 例如,我的看起來像:
"scripts": {
"start": "cross-env DEBUG=express:router webpack-dev-server ...."
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.