当前位置:首页 > 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 文件中,可以通过自定义条件编译来区分环境。

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

使用条件编译

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

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

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

自定义环境变量

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

# .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 中动态设置全局变量来区分环境。

uniapp 区分环境

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部署到服务器

部署准备 确保本地开发环境已完成项目构建,生成静态文件(H5端为/dist/build/h5目录)。检查服务器环境是否安装Nginx/Apache等Web服务软件,并配置好域名解析。 上传文件 通过…

uniapp设置title

uniapp设置title

设置页面标题的方法 在UniApp中设置页面标题可以通过以下几种方式实现,适用于不同场景和需求。 通过pages.json配置 在pages.json文件中,可以为每个页面单独配置导航栏标题。找到对…

uniapp adb

uniapp adb

在UniApp中使用ADB的方法 ADB(Android Debug Bridge)是Android开发中常用的调试工具,可用于UniApp项目的真机调试、日志查看等操作。以下是具体使用方法: 连接…

uniapp审批

uniapp审批

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

uniapp广播

uniapp广播

全局事件通信 在UniApp中实现广播功能可通过全局事件机制完成,适用于跨页面或组件通信。使用uni.$emit、uni.$on、uni.$off等方法实现事件的触发、监听与移除。 发送广播(触发事…

房产uniapp

房产uniapp

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