关于
- 之前的项目打包都是靠手动去改环境变量(纯属沙雕行为),随着项目越来越多,每一个项目打包都要去改这个变量的话真的是太蛋疼了,所以研究了一下
webpack
打包以及node env
主要
- 这样做有什么好处?
publicPath: process.env.APP_ENV === 'production' ? 'https://cdn.xxxx.com/brand-mall-chengdong/' : '/',
outputPath: './brand-mall-chengdong',
之前都是每次打包手动修改这个静态资源的地址,修改之后根据环境变量自动区分
- 第一步,安装
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
文件中即可根据这个变量设置相应的路径。
关于
- 文章首发于cross-env使用以及根据环境打包