vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vite前端API调用与本地开发代理配置

Vite前端API调用与本地开发代理配置策略详解

作者:nvd11

本文详细介绍了如何在前端代码中使用相对路径定义后端API URL,并通过Vite开发服务器的代理配置,解决了跨域资源共享(CORS)问题和环境差异问题,通过这套组合方案,实现了同一份前端代码在本地开发和生产环境下的无缝运行

本文档详细描述了本项目在前端代码中定义后端 API URL 的风格,以及如何配置 Vite 开发服务器的代理(Proxy),并解释这套组合方案解决了哪些关键问题。

一、 核心问题

现代 Web 开发中,前端应用(运行在浏览器)和后端 API(运行在服务器)通常是分离的。这会带来两个主要问题:

二、 解决方案:“相对路径” + “Vite 代理”

我们采用了一套标准的、优雅的组合方案来解决以上所有问题。

1. API URL 风格:使用相对路径

我们修改了 src/services/api.ts 文件,将 API 的 URL 定义为一个相对路径

代码 (src/services/api.ts):

// The URL of your backend API. Using a relative path works for both
// local development (with proxy) and production deployment.
const API_URL = '/chat-api-svc/api/v1/chat';

// ...
const response = await fetch(API_URL, { ... });

原理与优势:

2. Vite 代理配置

为了让本地开发时的 API 请求能成功,我们配置了 Vite 的开发服务器,让它充当一个代理。

配置 (vite.config.ts):

// ...
export default defineConfig({
  // ...
  server: {
    host: true,
    // This proxy configuration is for the local development server ONLY.
    proxy: {
      // 当开发服务器收到一个以 '/chat-api-svc' 开头的请求时...
      '/chat-api-svc': {
        // ...就将它转发给这个目标地址。
        target: 'https://gateway.jpgcp.cloud',
        // 改变请求的 Origin 头,对于 HTTPS 和虚拟主机托管是必需的。
        changeOrigin: true,
      },
    },
  },
  // ...
})

原理与优势:

三、 总结

通过**“前端使用相对路径”“本地开发环境使用代理”**这套组合拳,我们实现了:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文