1. 前言
很普通的一个场景:请求后台接口时,开发环境和生产环境请求的地址是不一样的?
那我们是不是在每次使用webpack打包线上环境时都要 手动改为生产环境的后台服务器地址?
没必要,使用一个process环境就行;
2. 说明
process.env
是node环境自带的一个全局变量;
我们只需要在webpack的配置中加上mode: "development"
,那么webpack会自动为我们加上:
process.env.NODE_ENV
然后就可以判断:
let url = '';
if (process.env.NODE_ENV === 'production') {
url = 'http://生产服务器地址';
} else {
url = 'http://开发环境地址';
}
有趣的是,webpack打包时,会忽略另一个条件:
也即如果是生产环境,那么打包的js中只有:url = 'http://生产服务器地址';
开发环境地址的地址并不会被打包进js里面,反之亦然;