在搭建前端工程專案的時候,在package.json的scripts命令內容和webpack配置檔案中可以看到node_env這個變數,它的值可以是development或product,也有人簡寫為'dev'或'prod'。
1.這個變數有什麼用?
顧名思義,這個變數表示構建專案的當前環境,也就是我們的程式會跑在生產環境、測試環境還是開發環境,在webpack配置中我們會根據不同環境作出不同的配置。
2.在**設定?
我們知道,node中有全域性變數process表示當前node程序,process.env包含著關於系統環境的資訊。但是process.env中並不存在node_env這個東西。其實node_env只是乙個使用者自定義的變數,但是這個node_env變數語義非常恰當,並且在前端工程化配置中作為判斷生產環境/開發環境的依據是非常自然而方便的事情,因而在前端工程化中逐漸成為乙個事實規範。當我們在服務啟動時配置node_env,或在**中給process.env.node_env賦值,js便能通過process.env.node_env獲取資訊。
那麼,這個變數的賦值在**設定呢?很多開發者將node_env=***x放到專案package.json的scripts命令中:
"scripts":
也有人會在webpack配置檔案中對node_env作預設值處理,如果scripts.build||script.start指令碼沒有設定node_env,預設值為'development'.
//...
node_env: process.env.node_env || 'development',
//...
3.不同平台下的設定區別?
在類unix系統和安裝並使用了bash的windows的系統上,我們會使用:
"export node_env=production && webpack --config build/webpack.config.js"
在windows系統上,我們使用:
"set node_env=production && webpack --config build/webpack.config.js"
有的人嫌麻煩,為了遮蔽兩種系統間的這個區別,會引用第三方外掛程式cross-env
}
只要在node_env前面加上cross-env標誌,會根據當前系統型別幫你選擇適當的指令給node_env賦值。
---------------------
VSCode斷點除錯CMake工程專案的實現步驟
斷點除錯在 排查 錯誤 時,發揮著巨大的作用!本文旨在使用vs code實現對cmake工程專案的 斷點除錯 假設我們已經有乙個cmake工程專案 比如從gi程式設計客棧thub上直接 並做了一些修改 且我們可以保證能夠編譯 執行 換言之,能保證無語法錯誤,但不能保證無邏輯錯誤 mkdir buil...
git 建立webpack專案 前端工程專案結構
工程結構指的是 組織方式,比如常見的組織方式,核心 放在src,公共庫放在lib,測試 放在test等等。所以如果有100個團隊應該就會有100種方式了。但是今天討論的主題不是哪種組織方式最好,而是這些組織方式背後的主要目的。自從nodejs面世,前端工程化取得了巨大的進步,不僅出現了grunt g...
工程專案的估算 概算 預算 結算和決算
投資控制是工程專案管理的重點和難點,在工程專案的不同階段,專案投資有估算 概算 預算 結算和決算等不同稱呼,這些 算 的依據和作用不同,其準確性也 漸進明細 乙個比乙個更真實地反映專案的實際投資。估算也叫投資估算,發生在專案建議書和可行性研究階段 估算的依據是專案規劃方案 方案設計 對工程專案可能發...