nodejs的開發環境和生產環境的問題


nodejs有開發環境和生產環境,在package.json的依賴分別是dependencies和decDependencies,開發環境一般而言會在代碼中部署諸多測試用的代碼、警告甚至是庫。 而生產環境追求的是快速化、最小化,這些東西是沒必要放到生產環境中的。

webpack,也特別區分開發環境和生產環境

這樣:

cross-env NODE_ENV=production webpack --config ./webpack.config.js

執行了之后還會報錯

 
You are currently using minified code outside of NODE_ENV === 'production'. This means that you are running a slower development build of Redux. You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) toensure you have the correct code for your production build.

用node執行js文件的時候先執行一句export NODE_ENV=production
然后再node xxx.js
這樣node就會去讀取NODE_ENV這個環境變量得到當前的環境時生產環境
對應的,export NODE_ENV=development這樣就是開發環境
你可以在js文件里通過:process.env.NODE_ENV來判斷當前是生產環境還是開發環境
通常對這兩種不同的環境需要有不同的配置以及輸出:
比如生產環境使用80端口,開發環境使用3000端口,那就這樣寫:

var port = 3000; if (process.env.NODE_ENV === "production") port = 80; 

對於package.json中的devDependencies是指開發過程中使用的對項目運行不產生影響只用來部署用的依賴,比如eslint用來檢查代碼,mocha用來測試,babel用來轉化代碼等等,這些應該在項目運行前就做好的。

那個報錯是說你用了它minify(這個詞不知道翻譯成什么好,簡化? 優化?小化?)好的版本,不是你自己簡化的,可能不太適應你的生產環境,它建議你自己做簡化,用loose-envify 來使代碼適應你的生產環節配置。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM