当前位置: 首页 > article >正文

uniapp 多环境打包

uni-app 项目中配置环境变量主要有如下三种方式:

第一种:vue-config.js
在 vue.config.js 中可以修改 webpack 配置,包括环境变量,具体参考 vue-config.js。
https://uniapp.dcloud.net.cn/collocation/vue-config.html

第二种:package.json
在自定义条件编译平台时,可以在 package.json 文件的 env 节点下配置环境变量,具体参考 package.json

package.json扩展配置用法:

{
    /**
     * package.json其它原有配置 
     * 拷贝代码后请去掉注释!
     */
    "uni-app": {// 扩展配置
        "scripts": {
            "custom-platform": { //自定义编译平台配置,可通过cli方式调用
                "title":"自定义扩展名称", // 在HBuilderX中会显示在 运行/发行 菜单中
                "browser":"",  //运行到的目标浏览器,仅当UNI_PLATFORM为h5时有效
                "env": {//环境变量
                    "UNI_PLATFORM": "",  //基准平台
                    "MY_TEST": "", // ... 其他自定义环境变量
                 },
                "define": { //自定义条件编译
                    "CUSTOM-CONST": true //自定义条件编译常量,建议为大写
                }
            }
        }    
    }
}

UNI_PLATFORM仅支持填写uni-app默认支持的基准平台,目前仅限如下枚举值:h5、mp-weixin、mp-alipay、mp-baidu、mp-toutiao、mp-qq
browser 仅在UNI_PLATFORM为h5时有效,目前仅限如下枚举值:chrome、firefox、ie、edge、safari、hbuilderx
package.json文件中不允许出现注释,否则扩展配置无效
vue-cli需更新到最新版,HBuilderX需升级到 2.1.6+ 版本

第三种:.env
HBuilderX 中的 uni-app vue3 和 uni-app x (4.25+) 项目及 CLI 创建的项目中可以在根目录中放置 .env 文件来指定环境变量
环境变量和模式:

Vite 在一个特殊的 import.meta.env 对象上暴露环境变量,这些变量在构建时会被静态地替换掉。这里有一些在所有情况下都可以使用的内建变量:
import.meta.env.MODE: {string} 应用运行的模式。
import.meta.env.BASE_URL: {string} 部署应用时的基本 URL。他由base 配置项决定。
import.meta.env.PROD: {boolean} 应用是否运行在生产环境(使用 NODE_ENV='production' 运行开发服务器或构建应用时使用 NODE_ENV='production' )。
import.meta.env.DEV: {boolean} 应用是否运行在开发环境 (永远与 import.meta.env.PROD相反)。
import.meta.env.SSR: {boolean} 应用是否运行在 server 上。

.env 文件
.env # 所有情况下都会加载
.env.local # 所有情况下都会加载,但会被 git 忽略
.env.[mode] # 只在指定模式下加载
.env.[mode].local # 只在指定模式下加载,但会被 git 忽略

环境加载优先级
一份用于指定模式的文件(例如 .env.production)会比通用文件的优先级更高(例如 .env)。
Vite 总是会加载 .env 和 .env.local 文件,除此之外还会加载模式特定的 .env.[mode] 文件。在模式特定文件中声明的变量优先级高于通用文件中的变量,但仅在 .env 或 .env.local 中定义的变量仍然可以在环境中使用。
另外,Vite 执行时已经存在的环境变量有最高的优先级,不会被 .env 类文件覆盖。例如当运行 VITE_SOME_KEY=123 vite build 的时候。
.env 类文件会在 Vite 启动一开始时被加载,而改动会在重启服务器后生效。

http://www.kler.cn/a/465439.html

相关文章:

  • MIPI_DPU 综合(DPU+MIPI+Demosaic+VDMA 通路)
  • Kernel Stack栈溢出攻击及保护绕过
  • I2C(一):存储器模式:stm32作为主机对AT24C02写读数据
  • git 创建tag, 并推送到远程仓库,启动actions构建release自动发布
  • GitHub Fork 和 Clone 的深度指南:操作解析与 Pull Request 完整流程20241231
  • C# 设计模式:装饰器模式与代理模式的区别
  • unity团结云下载项目
  • 反向传播算法的偏置更新步骤
  • Windows系统下载、部署Node.js与npm环境的方法
  • CDP集群安全指南-动态数据加密
  • 咖啡馆系统|Java|SSM|JSP|
  • df.groupby([pd.Grouper(freq=‘1M‘, key=‘Date‘), ‘Buyer‘]).sum()
  • Java 应用程序CPU 100%问题排查优化实战
  • Git 树形图表不显示问题
  • 大数据职业技能资源分享
  • 设计模式 结构型 代理模式(Proxy Pattern)与 常见技术框架应用 解析
  • GROUP BY 的目的是将数据按照指定的列进行分组,然后对每个分组进行聚合计算,分组后,每个分组只会返回一行结果。
  • Python 3 与 Python 2 的主要区别
  • 微服务之服务治理——Eureka
  • python-leetcode-买卖股票的最佳时机 II
  • 基于XGBoost算法的集成学习
  • linux网络管理
  • 特征值描述了系统的固有频率平方,而特征向量描述了系统的振动模式
  • throw与noexcept对比
  • AI赋能跨境电商:魔珐科技3D数字人破解出海痛点
  • Flutter面试题、Dart面试题