Uniapp 结合 dotenv,cross-env多环境配置

 官网的ts项目包,其中.env是我自己加上去用于配置环境的,让我们下载这两依赖

安装dotenv与cross-env两库到开发依赖

配置vite的--mode为production不起作用,运行后VITE_USER_NODE_ENV 仍然为'development'

,假如我们配一下cross -env 如果同名的话,其中uni配置的变量仍然会重置为development

运行script

我们来打印VITE_USER_NODE_ENV,NODE_ENV 还是development

,如何控制procress读取到想要的配置?

方法一:(改名)我们注入的变量

改为NODE_ENVI后能够成功的打印出来

我们配合dotenv将配置文件读出来

....
import * as fs from 'fs'
import * as dotenv from "dotenv"
import {join} from 'path'
// https://vitejs.dev/config/
const obj=dotenv.parse(fs.readFileSync(join(__dirname,`.env.${process.env.NODE_ENVI}`)))
for (const objKey in obj) {
    process.env[objKey]=obj[objKey]
}
console.log(process.env.ENVI)
export default defineConfig({
    server:{
      port:Number(process.env.PORT)||5777
    },
...
})

打印控制台

与我们定义的env配置文件内容一样

方法二:(拓展脚本)

这是uniapp官方的plus script

我们也可以拓展配置,如这样

同样需要配置脚本,uni -p h5-product 设置运行的路径

运行脚本后我们再打印读到了APP_ENV

可以通过json反序列化一下

可以读到

我们可以去axios配置打印

网页有输出

不过还是要从import.meta.env里读取

方法二读取用的uniapp自带的script拓展,方法一注入envi不知道换别的平台还能否正常读取,不过有cross env在应该是能解决,方法二只用下一个dotenv就可以了

(第一次写文章,有错误欢迎提出)

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

璇策花丶禄~決

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值