WePY根据环境变量来改变运行时的参数 · Tencent/wepy Wiki https://github.com/Tencent/wepy/wiki/WePY%E6%A0%B9%E6%8D%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%90%E8%A1%8C%E6%97%B6%E7%9A%84%E5%8F%82%E6%95%B0
Gcaufy edited this page Mar 15, 2018 · 1 revision
在package.json
中使用script
字段,配置环境变量,可以通过不通编译命令打包代码至不同环境,如:
"scripts": {
"build": "cross-env NODE_ENV=production wepy build --no-cache",
"dev": "cross-env NODE_ENV=development wepy build --watch"
},
因此,在使用npm run dev
或者 npm run build
时,在wepy.config.js
中可以通过process.env.NODE_ENV
拿到不同的环境变量值。
接下来就介绍两种方法,如何通过这个环境变量值去改变小程序运行时的参数。
1. 使用appConfig
字段
这个字段是在会编译时编译进小程序代码里的 在wepy.config.js
中加入这个字段:
appConfig: {
baseUrl: process.env.NODE_ENV === 'production' ? 'https://api.a.com/' : 'https://api.a.com/dev/
}
代码中直接使用这个字段:
import wepy from 'wepy';
wepy.request({url: wepy.$appConfig.baseUrl + 'get/1'});
2. 使用 wepy-plugin-replace
去实现
在wepy.config.js
配置replace插件:
plugins = {
'replace': {
filter: /*\.js$/g,
config: {
find: /__BASE_URL__/g
replace: process.env.NODE_ENV === 'production' ? 'https://api.a.com/' : 'https://api.a.com/dev/
}
}
}
在代码里直接使用 BASE_URL, 编译后就会被替换掉了。
import wepy from 'wepy';
wepy.request({url: __BASE_URL__ + 'get/1'});