type
status
date
slug
summary
tags
category
icon
password
😀
本篇文章说的环境变量指的是项目开发过程中常用的模式,也就是开发环境、测试环境、生产环境,甚至有些项目还会有联调环境
 
Taro cli 默认是自有两种模式,也就是开发环境development 和生产环境production,但是这还远远不够,我们通常还需要一个测试环境,这篇文章讲的就是不用自带的,我们自定义以下模式
  • dev 开发环境
  • test 测试环境
  • prod 生产环境

通过 cross-env 注入环境变量

在 package.json 文件通过 --mode 设置环境变量

通过 defineConfig 获取当前环境变量

此时我们再去 taro 的配置文件 config/index.js 使用 defineConfig 就可以拿到当前的环境 mode,这里注意拿到 mode 后 需要定义一下 envNODE_ENV,要不然再其他文件使用 process.env.NODE_ENV 会报错,此处还可以根据 modemerge 不同环境下的编译配置文件

新建环境变量文件 .env.[mode]

.env # 在所有的环境中被载入 .env.local # 在所有的环境中被载入,但会被 git 忽略 .env.[mode] # 只在指定的模式中被载入 .env.[mode].local # 只在指定的模式中被载入,但会被 git 忽略
这里要注意的是,环境变量文件里面的变量值 key 需要以 TARO_APP_ 前缀开头的环境变量,比如 .env.dev
后续我们只需要在 js 或者 html 文件使用 process.env.TARO_APP_API 即可获取,在 html 文件使用时候需要注意一下语法问题,以下代码就是指定在测试环境下,使用 console 插件
 
 
报错:无法使用 JSX,除非提供了 “--jsx“ 标志。ts(17004)常用的前端资源整理