当前位置: 首页 > article >正文

VUE3配置后端地址,实现前后端分离及开发、正式环境分离

新建.env.development.env.production

  • .env.development 指定开发环境地址
  • .env.production 指定生产环境地址

格式如下

VITE_APP_BASE_API=http://localhost:8070

只需要在对应文件写入对应的后端地址即可

修改env.d.ts

/// <reference types="vite/client" />
interface ImportMetaEnv {
    readonly VITE_API_BASE_URL: string;
    readonly VITE_BACKEND_BASE_URL: string; // 定义后端地址
    readonly VUE_APP_BASE_API: string // 定义后端API接口地址
    // 其他环境变量
}

interface ImportMeta {
    readonly env: ImportMetaEnv;
}

修改vite.config.ts

具体看注释即可

import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'

// https://vite.dev/config/
// 导出一个默认的配置对象,用于配置当前项目
export default defineConfig({
  // 插件配置,加载 vue 和 vueDevTools 插件
  plugins: [
    vue(),
    vueDevTools(),
  ],
  // 解析配置,用于配置模块导入路径的别名
  resolve: {
    alias: {
      // 将 '@' 符号映射到项目的 src 目录,简化导入路径
      '@': fileURLToPath(new URL('./src', import.meta.url))
    },
  },
  // 基本配置,定义项目的基路径
  base: '/',
  // 服务器配置,用于开发服务器的设置
  server: {
    // 代理配置,解决开发环境下的跨域问题
    proxy: {
      // 将以 '/api' 开头的请求代理到后端服务器
      '/api': {
        // 后端服务器地址,使用环境变量
        target: import.meta.env.VITE_APP_BASE_API,
        // 允许改变请求的来源
        changeOrigin: true,
        // 重写请求路径,去掉 /api 前缀
        rewrite: (path) => {
          const newPath = path.replace(/^\/api/, '');
          console.log(`Original path: ${path}, Rewritten path: ${newPath}`);
          return newPath;
        },
      },
    },
  },
});

使用

在这里插入图片描述

通过package.json运行的时候,选择dev即可让程序自动走.env.development定义的后端地址,选择build即走生产环境的后端地址


http://www.kler.cn/a/469978.html

相关文章:

  • 【51单片机】02LED流水灯实验
  • 防止密码爆破debian系统
  • Python自学 - 函数初步(内置函数、模块函数、自定义函数)
  • Visual studio code编写简单记事本exe笔记
  • Babylon.js中的向量操作:BABYLON.Vector3的数学方法
  • 网络安全抓包
  • 【C++】const关键字_运算符重载_继承
  • Spring Boot教程之四十七:Spring Boot ——JDBC
  • BMS应用软件开发 — 2 单体电池的基本结构和工作原理
  • linux redis/: Permission denied,当前用户对该目录没有访问权限
  • Jdbc笔记01
  • 探索报表软件的世界:山海鲸、Tableau与Power BI比较
  • 头文件iostream的一些函数使用
  • 半导体数据分析: 玩转WM-811K Wafermap 数据集(二) AI 机器学习
  • ElasticSearch基础-文章目录
  • mapreduce 工作流程
  • 头歌python实验:网络安全应用实践-恶意流量检测
  • 【FTP 协议】FTP主动模式
  • Rabbitmq消息补偿机制
  • 【机器学习】从监督学习的懵懂起步至迁移学习的前沿瞭望
  • iOS - 自定义引用计数(MRC)
  • Cursor 实战技巧:好用的提示词插件Cursor Rules
  • 深度解读 “驭风行动”
  • Latex中inproceedings 和 article的区别
  • 【wiki知识库】08.添加用户登录功能--后端SpringBoot部分
  • mac 使用zip2john破解zip压缩包密码