簡體   English   中英

如何在NPM任務中為node.js設置環境變量

[英]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-supervisornode-inspector

注1:如果我直接從命令行運行set NODE_PATH=.&&supervisor -n error -- ./bin/www --debug - 效果很好。

注意2:如果我運行npm start而沒有NODE_PATH=.&&它運行良好但是節點錯誤 - 導致它無法找到模塊,例如require('helpers/log')或者require('models/user')因為我沒有想要將所有內容放置在node_modules

統計:

  • Windows 8.1
  • 節點4.4.0
  • npm 2.4.0

對於第一個問題,請查看方便的輔助模塊cross-env

它專為此目的而設計,易於使用。 只需使用cross-env ,你通常使用UNIX風格的環境,然后離開。 例如,我的看起來像:

"scripts": {
    "start": "cross-env DEBUG=express:router webpack-dev-server ...."
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM