当前位置:首页 > uni-app

uniapp 区分环境

2026-03-04 23:25:45uni-app

uniapp 区分环境的方法

在 uniapp 中,可以通过多种方式区分开发环境、测试环境和生产环境。以下是几种常用的方法:

使用 process.env.NODE_ENV

uniapp 基于 Vue 和 Webpack,可以通过 process.env.NODE_ENV 获取当前环境。通常在开发环境下值为 development,生产环境下为 production

if (process.env.NODE_ENV === 'development') {
  console.log('开发环境');
} else if (process.env.NODE_ENV === 'production') {
  console.log('生产环境');
}

配置 manifest.json

manifest.json 文件中,可以通过自定义条件编译来区分环境。

uniapp 区分环境

{
  "app-plus": {
    "distribute": {
      "android": {
        "debug": "开发环境配置",
        "release": "生产环境配置"
      }
    }
  }
}

使用条件编译

uniapp 支持条件编译,可以通过 #ifdef#ifndef 区分不同平台或环境。

// #ifdef H5
console.log('H5 环境');
// #endif

// #ifdef MP-WEIXIN
console.log('微信小程序环境');
// #endif

自定义环境变量

在项目根目录下创建 .env 文件,定义不同环境变量。

uniapp 区分环境

# .env.development
VUE_APP_ENV = development
API_BASE_URL = https://dev.example.com
# .env.production
VUE_APP_ENV = production
API_BASE_URL = https://api.example.com

在代码中通过 process.env.VUE_APP_ENV 访问。

console.log(process.env.VUE_APP_ENV);
console.log(process.env.API_BASE_URL);

动态配置

可以通过在 main.js 中动态设置全局变量来区分环境。

let baseUrl;
if (process.env.NODE_ENV === 'development') {
  baseUrl = 'https://dev.example.com';
} else {
  baseUrl = 'https://api.example.com';
}

Vue.prototype.$baseUrl = baseUrl;

注意事项

  • 使用 process.env 时需确保项目配置正确,部分打包工具可能需要额外配置。
  • 条件编译仅适用于 uniapp 支持的平台,无法直接用于自定义环境区分。
  • 自定义环境变量需以 VUE_APP_ 开头,否则可能无法被识别。

以上方法可根据实际需求选择使用,通常结合 process.env 和自定义环境变量能够满足大多数场景。

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

相关文章

uniapp怎么启动

uniapp怎么启动

启动UniApp项目的步骤 确保已安装Node.js(建议版本12+)和HBuilderX(官方IDE)。若未安装,需先下载并配置环境。 安装开发工具 从HBuilderX官网下载对应操作系统的版…

uniapp发布到应用商店

uniapp发布到应用商店

发布到苹果App Store 确保开发者账号已注册并加入Apple Developer Program,年费99美元。在Xcode中生成iOS发布证书(.p12)和描述文件(Provisioning…

uniapp多环境配置

uniapp多环境配置

多环境配置的必要性 在UniApp开发中,多环境配置能有效区分开发、测试、生产等不同环境的API地址、密钥等参数,避免手动修改代码导致的错误。 创建环境配置文件 在项目根目录下创建env.js或co…

uniapp切片

uniapp切片

uniapp 切片实现方法 在 uniapp 中实现切片功能通常指的是对图片或数据进行分割处理。以下是几种常见的切片实现方式: 图片切片展示 通过 CSS 和 JavaScript 实现图片的网格…

uniapp关闭侧滑

uniapp关闭侧滑

禁用全局侧滑返回功能 在pages.json中配置全局禁止侧滑返回: { "globalStyle": { "popGesture": "none" } } 禁用单个页面侧滑…

uniapp使用axios无法请求

uniapp使用axios无法请求

uniapp中使用axios请求问题解决方案 在uniapp中使用axios可能会遇到跨域、请求失败或兼容性问题。以下是常见原因及解决方法: 检查axios安装与引入 确保已正确安装axios:…