suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So verwenden Sie eine andere Basis-URL

Während der Entwicklung habe ich Vite für den React-Client für HMR auf http://localhost:5173/ verwendet und das Node-Backend zur Verarbeitung von API-Aufrufen und Ressourcen verwendet.

Für Produktions-Builds stellt Node die Frontend-Dienste bereit, also möchte ich /whatever/endpoint。因此,当由Vite提供服务时,我需要一种重写的方式,将/映射到http://my.api.host:3000/ verwenden.

Ich bin mir sicher, dass dies eine übliche Operation sein muss, aber ich weiß nicht, wie ich das machen soll. Laut der Dokumentation denke ich, dass dies getan werden sollte:

vite.config.js

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'

export default defineConfig({
    plugins: [react()],
    server: {
        origin: 'http://my.api.host:3000'
    },
    base: 'http://my.api.host:3000'
})

Aber das:

backgroundImage: 'url(/img/backgrounds/main.jpg)'

Ich versuche immer noch, den Service von http://localhost:5173 anzubieten.

P粉805922437P粉805922437301 Tage vor441

Antworte allen(1)Ich werde antworten

  • P粉556159786

    P粉5561597862024-01-17 17:22:07

    要在使用Vite进行生产时,重写API端点并从正确位置提供资源,您可以在Vite配置中使用代理选项。以下是如何配置的示例:

    import { defineConfig } from 'vite';
    import react from '@vitejs/plugin-react-swc';
    
    export default defineConfig({
      plugins: [react()],
      server: {
        proxy: {
          '/whatever/endpoint': {
            target: 'http://my.api.host:3000',
            changeOrigin: true,
            rewrite: (path) => path.replace(/^\/whatever\/endpoint/, ''),
          },
        },
      },
      base: 'http://my.api.host:3000/',
    });

    'rewrite'函数用于在将请求路径转发到目标之前,从请求路径中删除/whatever/endpoint前缀。

    Antwort
    0
  • StornierenAntwort