這是我的 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 }, } } })
每當載入我的應用程式時,它都會在我的 locahost 連接埠上造訪 https://abc-website.com。
我只想將上面的網址用於後端 api 調用,例如 https://abc-webite.com/api/auth。
此外,在 vite.config.ts 中設定代理程式後,我將 baseURL 設定為「api/」。
此外,在稍作更改後,它會呼叫 REST api,例如 https://localhost:3000/auth,我應該是 https://locahost:3000/api/auth
Vite 代理似乎對我來說無法正常工作。
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 等,但我也很友善