Heim > Fragen und Antworten > Hauptteil
Das ist meine vite.config.ts:
import { defineConfig } from 'vitest/config' import vue from '@vitejs/plugin-vue' import { quasar, transformAssetUrls } from '@quasar/vite-plugin' const path = require('path'); // https://vitejs.dev/config/ export default defineConfig({ test: { globals: true }, plugins: [ vue({ template: { transformAssetUrls } }), quasar({ sassVariables: 'src/assets/scss/quasar-variables.sass' }) ], resolve: { alias: { "@": path.resolve(__dirname, './src'), }, }, server: { proxy: { '/socket': { target: 'wss://abc-website.com:4221/', changeOrigin: true, ws: true, rewrite: (path) => path.replace('^/socket', ''), }, '/streaming/': { target: 'https://abc-website.com/', changeOrigin: true, }, '/': { target: 'https://abc-website.com/', changeOrigin: true, secure: false, ws: true }, } } })
Immer wenn meine App geladen wird, greift sie über meinen locahost-Port auf https://abc-website.com zu.
Ich möchte die obige URL nur für Backend-API-Aufrufe verwenden, z. B. https://abc-webite.com/api/auth.
Außerdem habe ich nach dem Festlegen des Proxys in vite.config.ts die Basis-URL auf „api/“ gesetzt.
Außerdem ruft es nach einer kleinen Änderung die REST-API auf, etwa https://localhost:3000/auth, wobei ich https://locahost:3000/api/auth sein sollte
Vite-Proxy scheint bei mir nicht richtig zu funktionieren.
P粉4267805152024-03-26 18:26:17
我认为你可以这样做:
server: { proxy: { // ... your other proxies '/api': { target: 'https://abc-website.com/', changeOrigin: true, secure: false, ws: true, rewrite: (path) => path.replace(/^\/app/, ''), }, } }
然后,您对 localhost:3000/api/my-endpoint
等网站的所有请求都应代理到 https://abc-website.com/my-endpoint
。您无法代理所有“基本”请求,因为它们被保留用于服务其他所有内容、所有资产、index.html 等,但我也很友善