javascript - node的NODE_EN如何使用
問題描述
問題1:項目json.package文件內有NODE_ENV=development,是表示執行npm run dev就設置node環境切換為開發環境?
問題2:那么寫NODE_ENV=development與不寫有啥不同
'scripts': { 'compile': 'NODE_ENV=production webpack', 'start': 'npm run dev', 'dev': 'NODE_ENV=development node --harmony bin/webpack-dev-server', },
問題3:當我執行npm start,出現這個無法正常運行是為什么?
$ npm start> [email protected] start C:UsersAdministratorDesktopreact-redux-jwt-auth-example> npm run dev> [email protected] dev C:UsersAdministratorDesktopreact-redux-jwt-auth-example> NODE_ENV=development node --harmony bin/webpack-dev-server’NODE_ENV’ ????????????????????????е?????????????????npm ERR! Windows_NT 6.1.7601npm ERR! argv 'D:Program Filesnodejsnode.exe' 'D:Program Filesnodejsnode_modulesnpmbinnpm-cli.js' 'run' 'dev'npm ERR! node v7.2.0npm ERR! npm v3.10.9npm ERR! code ELIFECYCLEnpm ERR! [email protected] dev: `NODE_ENV=development node --harmony bin/webpack-dev-server`npm ERR! Exit status 1npm ERR!npm ERR! Failed at the [email protected] dev script ’NODE_ENV=development node --harmony bin/webpack-dev-server’.npm ERR! Make sure you have the latest version of node.js and npm installed.npm ERR! If you do, this is most likely a problem with the react-redux-jwt-auth-example package,npm ERR! not with npm itself.
問題解答
回答1:npm run dev 是【約定俗成】的開發環境語句,一般習慣是在這條語句內設置 NODE_ENV 環境變量。這不是必須的,但是大家都這么做…
如果不寫,那么你就起的開發環境就沒有設置入 NODE_ENV 這個變量。在 Vue 和 React 內部會檢查這個環境變量,如在 React 中,當 NODE_ENV 為 development 時會額外打開類型檢查來方便開發。Vue 中這個環境變量也會影響 Vuex 等插件內部時間旅行一類的功能。
Windows 下環境變量有坑,可能需要 cross-env 這個包來輔助設入環境變量。
回答2:寫了NODE_ENV=development就可以在程序中通過以下代碼來判斷是在哪種環境:
if (process.env.NODE_ENV === ’development’) { // 開發環境}
相關文章:
1. 數據庫 - mysql如何處理數據變化中的事務?2. mysql - 怎么生成這個sql表?3. javascript - JS如何取對稱范圍的隨機數?4. java - ehcache緩存用的是虛擬機內存么?5. 關于docker下的nginx壓力測試6. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下7. docker-machine添加一個已有的docker主機問題8. dockerfile - [docker build image失敗- npm install]9. java - 自己制作一個視頻播放器,遇到問題,用的是內置surfaceview類,具體看代碼!10. java - mongodb分片集群下,count和聚合統計問題
