当前位置:首页 > 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开发简介 uniapp是一款基于Vue.js的跨平台开发框架,支持一次开发,多端部署。开发者可以通过编写一套代码,发布到iOS、Android、Web以及各种小程序平台(如微信、支付宝、百…

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

uniapp分享到facebook

uniapp分享到facebook

使用uniapp分享到Facebook的方法 在uniapp中实现分享到Facebook功能,可以通过调用原生插件或使用第三方SDK。以下是具体实现方式: 安装Facebook SDK插件 在uni…

uniapp 画板

uniapp 画板

uniapp 实现画板功能的方法 在 uniapp 中实现画板功能,可以通过 canvas 组件结合触摸事件来完成。以下是一个基本的实现方案: 基本画板实现 在 template 中添加 canva…

房产uniapp

房产uniapp

房产类UniApp开发指南 UniApp作为跨平台开发框架,适用于快速构建房产类应用(如二手房交易、租房平台、新房展示等)。以下是关键开发要点和实现方法: 技术选型与框架配置 跨平台适配:使用Uni…

uniapp前端渲染

uniapp前端渲染

uniapp前端渲染的基本原理 uniapp基于Vue.js框架,采用了一套代码多端运行的机制。前端渲染主要通过Vue的虚拟DOM技术实现,在不同平台(H5、小程序、App等)上会编译为对应平台的渲染…