first
This commit is contained in:
45
env/config.js
vendored
Normal file
45
env/config.js
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* ENV 的封装
|
||||
* 由于uniapp 无法设置.env等打包属性,实现线上,线下多版本配置属性的无缝切换。
|
||||
* process.env.NODE_ENV 将在打包环境通过编译器进行替换, 线上打包后无法获取到 process对象。 所以将配置属性统一封装到appConfig中。
|
||||
*
|
||||
* 环境地址环境枚举详见: appConfig.js
|
||||
*
|
||||
* @author terrfly
|
||||
* @site https://www.jeequan.com
|
||||
* @date 2021/12/16 17:57
|
||||
*/
|
||||
import appConfig from '@/config/appConfig.js';
|
||||
|
||||
// uni-app 暂时不支持动态import(导包app报错), 需要将所有的env全部导入 = = 、
|
||||
import development from './env.development.js';
|
||||
import test from './env.test.js';
|
||||
import demo from './env.demo.js';
|
||||
import production from './env.production.js';
|
||||
|
||||
const allEnvMap = {
|
||||
development: development,
|
||||
test: test,
|
||||
demo: demo,
|
||||
production: production
|
||||
}
|
||||
|
||||
// 获取当前环境变量
|
||||
const processEnv = process.env.NODE_ENV
|
||||
|
||||
// 改变env环境
|
||||
function changeEnv(envMode){
|
||||
|
||||
appConfig.env = allEnvMap[envMode || processEnv]
|
||||
|
||||
// // 动态导包的方式:设置全局env配置项目 : 当参数不存在, 那么获取node环境
|
||||
// import(`./env.${envMode || processEnv}.js`).then(module => {
|
||||
// appConfig.env = module.default
|
||||
// }).catch(() => {
|
||||
// appConfig.env = production //当出现错误, 比如本地没有复制dev文件时, 默认使用生产环境
|
||||
// })
|
||||
}
|
||||
|
||||
export default { changeEnv: changeEnv }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user