开发日记14-vite配置多环境

为什么要配置多环境,因为开发的时候,获取后端数据的baseUrl是不一样的,端口也可能不一样。所以我们要配置一下,以便于以后切换。这里举个例子:

我们在web目录下,新增一个.env文件,将目前调取后端数据用到的base url配置上

复制代码
VITE_SERVER=http://localhost:18000

再配置一个生产时用到的文件.env.prod,暂时就改一个端口意思意思

复制代码
VITE_SERVER=http://localhost:18001

如果还有测试,还可以增加.env.test,这里不多赘述

为了让vite能找到,可以增加配置/data/wz/JavaProject/im-nls/web/package.json

复制代码
  "scripts": {
    "dev": "vite",
    "prod": "vite --mode=prod",
    "build": "vite build",
    "preview": "vite preview"
  },

这里新增了一个 "prod": "vite --mode=prod", 在打包的时候,会自动寻找prod结尾的文件,引入其中的所有变量。

我们在main.js中这样引入,使得axios在get或者post请求的时候,隐式的添加baseUrl前缀

复制代码
axios.defaults.baseURL = import.meta.env.VITE_SERVER

就可以这样了:

复制代码
axios.get("/nls/query", {
  params: {
    "mobile": "Huawei"
  }

我们可以在控制台打印出来看看是不是真的读到了,

复制代码
console.log("服务端:", import.meta.env.VITE_SERVER)
axios.defaults.baseURL = import.meta.env.VITE_SERVER

现在可以试试,重新执行prod,试试prod环境,ok,没问题

相关推荐
前端小李子1 小时前
前端环境变量裸奔?我用 EnvShield 给它穿了件防弹衣
前端
youtootech1 小时前
HarmonyOS《柚兔学伴》项目实战25-我的页面、Web 嵌入与项目总结
前端·华为·harmonyos
小林ixn1 小时前
从零到一理解 React 父子组件通信:手写一个 Todo 应用带你彻底搞懂单向数据流
前端·javascript·react.js
醇氧3 小时前
CountDownLatch / CyclicBarrier / Semaphore 面试高频问答清单
前端·面试·职场和发展
吳所畏惧4 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈4 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
qetfw4 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
甲维斯4 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能
a1117764 小时前
微光小屋-前端养成小游戏 开源项目
前端