webpack
打包以及node env
publicPath: process.env.APP_ENV === 'production' ? 'https://cdn.xxxx.com/brand-mall-chengdong/' : '/', outputPath: './brand-mall-chengdong',
以前都是每次打包手動修改這個靜態資源的地址,修改以後根據環境變量自動區分javascript
cross-env
yarn add cross-env@5.1.1 cross-port-killer@1.0.1
什麼是cross-env? 解:當您使用NODE_ENV=production相似設置環境變量時,大多數Windows命令提示將會阻塞 。(例外是Windows上的Bash,它使用本機Bash。)一樣,Windows和POSIX命令如何利用環境變量也有所不一樣。使用POSIX,您能夠使用:$ENV_VAR 和您使用的Windows %ENV_VAR%。
package.json
文件"build": "cross-env APP_ENV=production umi build", "build:test": "cross-env APP_ENV=test umi build",
新增一條如上命令,當執行npm run build
時,設置proess.env.APP_ENV
爲production
,同理設置爲test
.而後在config.js
文件中便可根據這個變量設置相應的路徑。html