【uniapp小程序】如何根据开发和发行,自动替换不同环境的baseUrl

需求

小程序调试时使用Hbuilder的运行功能,在测试环境调试;到了发行正式版时使用发行功能,baseurl需要替换到生产环境;有没有办法让代码能够识别当前使用的时运行还是发行,自动切换baseur而不是手动切换???

分析

uni-app提供了一个全局变量process.env.NODE_ENV,当我们使用Hbuilder时开发时,使用发行功能,这个变量为值为‘production’

代码

分别配置开发和生产环境的地址
config.js

// 应用全局配置
module.exports = {
	//测试环境API前缀
    productionBaseUrl: '生产地址',//提交请勿修改
	baseUrl: '开发地址',
    // 应用信息
    appInfo: {
    }
};

封装全局的请求方法
request.js

import config from '@/config'
let baseUrl = config.baseUrl
//在这里判断当前是什么环境,切换相应的地址
if(process.env.NODE_ENV === 'production'){
  baseUrl=config.productionBaseUrl;
}

const request = (config) =>{
...
return new Promise((resolve, reject) => {
    uni
      .request({
        method: config.method || 'get',
        timeout: config.timeout || timeout,
        url: config.baseUrl || baseUrl + config.url,
        data: config.data,
        header: config.header,
        dataType: 'json',
      })
}

export default request

你可能感兴趣的:(踩过的坑,uni-app,小程序,javascript,前端)