当前位置:首页 > uni-app

uniapp多环境配置

2026-03-04 18:23:50uni-app

多环境配置文件创建

在项目根目录下创建不同环境的配置文件,例如:

  • env.dev.js 开发环境
  • env.test.js 测试环境
  • env.prod.js 生产环境

每个文件导出对应环境的配置对象:

// env.dev.js
module.exports = {
  BASE_URL: 'https://dev.example.com',
  API_KEY: 'dev_key_123'
}

动态加载环境配置

main.js中根据运行环境加载对应配置:

const env = process.env.NODE_ENV || 'development'
const config = require(`./env.${env}.js`)

Vue.prototype.$config = config

package.json脚本配置

在package.json中配置不同环境的运行命令:

{
  "scripts": {
    "dev": "cross-env NODE_ENV=development uni",
    "test": "cross-env NODE_ENV=test uni",
    "build:prod": "cross-env NODE_ENV=production uni build"
  }
}

条件编译处理

使用uni-app的条件编译处理环境差异:

// #ifdef H5
console.log('H5平台特定代码')
// #endif

// #ifdef MP-WEIXIN
console.log('微信小程序特定代码')
// #endif

环境变量使用示例

在组件或页面中访问环境变量:

export default {
  methods: {
    fetchData() {
      const url = this.$config.BASE_URL + '/api/data'
      // 发起请求...
    }
  }
}

跨平台适配方案

针对不同平台的环境差异,可创建平台适配层:

uniapp多环境配置

// utils/platform.js
function getPlatformConfig() {
  // #ifdef H5
  return { baseURL: 'https://h5.example.com' }
  // #endif

  // #ifdef MP-WEIXIN
  return { baseURL: 'https://mp.example.com' }
  // #endif
}

注意事项

  • 敏感信息不应直接存储在配置文件中
  • 生产环境配置需要单独管理
  • 不同环境的API地址可能需要处理跨域问题
  • 测试环境配置应尽可能接近生产环境

标签: 环境uniapp
分享给朋友:

相关文章

uniapp实现支付功能

uniapp实现支付功能

支付功能实现概述 在UniApp中实现支付功能通常需要对接第三方支付平台(如微信支付、支付宝支付等)。以下是基于微信支付和支付宝支付的通用实现流程。 微信支付实现步骤 1. 配置支付权限 在微信开放…

uniapp安装axios

uniapp安装axios

安装axios 在uniapp项目中安装axios需要确保项目支持node_modules管理。通过npm或yarn安装axios: npm install axios # 或 yarn add a…

uniapp 后门

uniapp 后门

关于 uniapp 后门的问题,目前没有权威证据表明 uniapp 官方存在故意植入后门的行为。但作为开发者,需注意以下安全实践: 检查第三方插件和依赖 确保项目中使用的第三方插件来源可靠,定期更新…

uniapp审批

uniapp审批

uniapp审批流程实现 在uniapp中实现审批功能,通常需要结合前端界面和后端逻辑。以下是几种常见的实现方式: 前端界面设计 使用uniapp的组件和API构建审批界面,包括表单提交、审批列表展…

uniapp 数据

uniapp 数据

uniapp 数据管理方法 本地存储 使用 uni.setStorageSync 和 uni.getStorageSync 进行本地数据持久化存储。适合保存用户偏好设置或小型数据。 // 存储数…

uniapp 滑动

uniapp 滑动

uniapp 实现滑动效果的方法 在uniapp中实现滑动效果可以通过多种方式,包括使用内置组件、CSS动画或第三方插件。以下是几种常见的方法: 使用scroll-view组件 scroll-vi…