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

相关推荐
Brown.alexis10 分钟前
es6知识点1-自备使用
前端·ecmascript·es6
小爬的老粉丝1 小时前
JavaScript 纯前端预览 WPS:先识别容器,再路由解析器
前端·javascript·wps
计算机魔术师2 小时前
新兴多智能体系统的模式与问题
前端
隔窗听雨眠2 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
用户059540174462 小时前
AI Agent 上下文污染踩坑实录:用 pytest + Redis 揪出 3 类记忆串号 bug,排查 6 小时
前端·css
满栀5852 小时前
状态管理:Redux、Vuex、Pinia 核心区别
前端·javascript·typescript
鲸采云SRM采购管理系统3 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
一拳不是超人3 小时前
DeepSeek Harness 为什么敢说"一切皆插件"?拆透 Cordis 引擎的五大核心机制
前端·人工智能·agent
IT_陈寒3 小时前
Python的GIL让我多写了500行代码
前端·人工智能·后端
风骏时光牛马3 小时前
AI智能体能力调度微服务
前端