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