开发日记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,没问题

相关推荐
禅思院几秒前
前端请求取消与调度完全指南:从 AbortController 到企业级优先级架构
前端·设计模式·前端框架
颂love8 分钟前
Vue的两大生态以及组件通信
前端·javascript·vue.js·typescript
甜汤圆11 分钟前
Python 里**自定义数据单元**
前端
lqjun082718 分钟前
Linux 下 Hermes Agent 代理配置不生效问题的解决
linux·服务器
cidy_9819 分钟前
将 Figma 接入 Codex MCP:从 `/plugins` 到本地插件配置的完整教程
前端
vivo互联网技术20 分钟前
动效开发不踩坑:几种动效实现方案对比与实战选型
前端·性能优化·动效
Csvn22 分钟前
【Vue3】Composition API vs Options API —— 什么场景该选哪个
前端
Csvn23 分钟前
Vue3 迁移血泪史:v-model 的 .sync 陷阱,90% 升级项目都会踩
前端·vue.js
光影少年23 分钟前
js单线程,为什在node环境下的js可以处理高并发请求?
前端·javascript·掘金·金石计划
c_lb728830 分钟前
期货量化策略从 Windows 迁到 Linux 服务器:环境注意点
linux·服务器·windows·python