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> react-redux-jwt-auth-example@0.1.0 start C:UsersAdministratorDesktopreact-redux-jwt-auth-example> npm run dev> react-redux-jwt-auth-example@0.1.0 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! react-redux-jwt-auth-example@0.1.0 dev: `NODE_ENV=development node --harmony bin/webpack-dev-server`npm ERR! Exit status 1npm ERR!npm ERR! Failed at the react-redux-jwt-auth-example@0.1.0 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. html5 - ElementUI table中el-table-column怎么設置百分比顯示。2. python - 使用readlines()方法讀取文件內容后,再用for循環遍歷文件與變量匹配時出現疑難?3. 對mysql某個字段監控的功能4. css - 網頁div區塊 像蘋果一樣可左右滑動 手機與電腦5. 注冊賬戶文字不能左右分離6. JavaScript事件7. javascript - 數組的過濾和渲染8. javascript - table列過多,有什么插件可以提供列排序和選擇顯示列的功能9. html - vue項目中用到了elementUI問題10. javascript - ES6標準入門中let命令提到的for循環打印i是10,如果不用let怎么替換?
