背景
webpack有一特性就是可以讓使用者靈活的在不同環境(開發環境,生產環境等)進行相應的特性的策略打包,比如: 是否使用反向代理使用介面,針對不同的靜態資源(如圖片等)是直接拷貝還是進行打包編譯等等,這一特性的誕生歸功于Nodejs的環境變數-process.env. NODE_ENV
process.env. NODE_ENV
1. 值
1.1 production:生產階段
1.2 development/staging: 開發階段
2. webpack中的應用
// webpack.config.js module.exports = { // webpack的mode(模式引數):不同模式下進行不同的內置優化 mode: process.env.NODE_ENV === 'production' ? 'production' : 'development' }
3. 使用 3.1 這個變數在具體的應用的時候是需要對當前的環境變數進行設定的,一般情況會在進行執行不同命令的時候去設定 3.2 由于這個變數針對于不同的系統設定方式不一樣,如設定為開發模式的話,
window系統: set NODE_ENV=development
mac系統: export NODE_ENV=development
3.3 鑒于兼容性和使用上的問題,就有人開發了cross-env
3.3.1 這是一個跨平臺的第三方的包,使用的時候需要安裝下,npm i --save-dev cross-env
3.3.2 設定環境變數: cross-env NODE_ENV=development即可
// package.json { "scripts": { // 設定為開發環境并且按照webpack.dev.js的配置進行打包部署 "dev": "cross-env NODE_ENV=development webpack --config webpack.config.js" } }上述只是講解了一個大概的思路和對應的小例子,請大家根據自己具體的專案進行特殊配置, 如有不嚴謹和錯誤地方請希望指正,祝大家作業順利 !
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/145747.html
標籤:JavaScript
上一篇:Ajax-原生JS中的Ajax
下一篇:帶你學習ES5中新增的方法
