Taro v3.5.10 环境变量分组与加载模式详解及使用指南

2025-02-24
来源:网络整理

图案和环境变量

信息

支持塔罗v3.5.10。有关以前的版本,请参考芋头 -

在Tar​​o CLI中,该模式用于将环境变量和加载环境变量分组。它是一组环境变量的名称。它是指Vue-CLI中的模式和环境变量加载方法,因此,如果您以前使用过Vue-CLI,则可以更快地掌握使用情况。

默认行为

默认情况下,Taro CLI模式有2种模式:

可以发现,默认情况下,模式的值取决于值(但模式的值无法更改)。

假设您有两个用于开发和生产的环境,可以在项目根目录中创建两个新的Env环境文件:

.env.development # 在 development 模式时被载入
.env.production # 在 production 模式时被载入

环境文件仅包含环境变量的“键=值”对:

TARO_APP_API="https://api.tarojs.com"

限制

请注意,只有从开始的变量才能通过静态嵌入到客户端代码中。这是为了避免与系统内置环境变量发生冲突。

开发环境和生产环境的区别_环境开发程序生产小组职责_小程序开发环境和生产环境

我们可以在所有塔罗插件,/.TS配置文件和src目录下的项目文件中使用加载的环境变量,例如:

// src/service/request.ts
const request = axios.create({
baseURL: process.env.TARO_APP_API
};
export default request

在构建过程中,.env。将被相应的值替换。在=“”的情况下,它将被“”代替。

自定义模式

如果默认模式无法满足要求,则可以在命令上使用参数-mode模式名称指定模式名称以加载一组环境变量,例如:

taro build --type weapp --mode uat

上面的命令表明,在构建过程中将加载.env.uat文件中的环境变量。

模式特定的加载规则:

.env # 在所有的环境中被载入
.env.local # 在所有的环境中被载入,但会被 git 忽略
.env.[mode] # 只在指定的模式中被载入
.env.[mode].local # 只在指定的模式中被载入,但会被 git 忽略

环境文件加载优先级

为特定模式准备的环境文件(例如.env。)比一般环境文件(例如.env)具有更高的优先级。

.ENV环境文件是通过运行塔罗命令加载的,因此环境文件更改,您需要重新启动服务。

只有本地有效的变量

有时,您可能会有不应提交代码存储库的变量,尤其是当您的项目托管在公共存储库中时。在这种情况下,您应该使用.env。而是文件。默认情况下,本地环境文件将被忽略并出现。

开发环境和生产环境的区别_环境开发程序生产小组职责_小程序开发环境和生产环境

。也可以在指定模式下添加到环境文件中,例如.env ..将以模式加载并被git忽略。

自定义环境变量前缀

如前所述,默认情况下,只有从.env文件中的前缀开始的环境变量。您可能需要将它们更改为公司的英文名称作为前缀。 @/cli提供了 - ENV-参数以达到此要求:

taro build --type weapp --mode development --env-prefix JD_APP_

目前,可以在.env文件中加载的环境变量只能从前缀开始:

TARO_APP_API="https://api.tarojs.com" # 不满足前缀,不加载

JD_APP_TEST="foo" # 满足前缀,加载

但是,有一个特殊的环境变量不受自定义前缀配置的影响,并且将始终加载。

特殊环境变量

信息

塔罗v3.6.9开始支持

它是专门为小程序设计的。在构建输出dist/.. json文件之前,将将DIST/.. JSON文件中的字段修改为值。当在不同环境中配置不同的迷你程序时,它特别有用,还可以避免手动修改开发人员在开发人员工具上的麻烦。

分享