Rumah  >  Soal Jawab  >  teks badan

Menggunakan proksi in vite mengubah hala saya ke URL proksi pada localhost, tetapi saya secara khusus mahu menggunakannya hanya untuk panggilan API bahagian belakang.

Ini vite.config.ts saya:

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
      },
    }
  }
})

Setiap kali apl saya dimuatkan, ia mengakses https://abc-website.com pada port locahost saya.

Saya hanya mahu menggunakan url di atas untuk panggilan api bahagian belakang, seperti https://abc-webit.com/api/auth.

Selain itu, selepas menetapkan proksi dalam vite.config.ts, saya menetapkan baseURL kepada "api/".

Selain itu, selepas perubahan sedikit, ia memanggil api REST, seperti https://localhost:3000/auth, di mana saya sepatutnya berada https://locahost:3000/api/auth

Proksi Vite nampaknya tidak berfungsi dengan baik untuk saya.

P粉412533525P粉412533525207 hari yang lalu481

membalas semua(1)saya akan balas

  • P粉426780515

    P粉4267805152024-03-26 18:26:17

    Saya rasa anda boleh melakukan ini:

    server: {
      proxy: {
        // ... your other proxies
        '/api': {
          target: 'https://abc-website.com/',
          changeOrigin: true,
          secure: false,
          ws: true,
          rewrite: (path) => path.replace(/^\/app/, ''),
        },
      }
    }

    Kemudian, anda berminat dengan localhost:3000/api/my-endpoint 等网站的所有请求都应代理到 https://abc-website.com/my-endpoint . Anda tidak boleh memproksi semua permintaan "asas" kerana ia dikhaskan untuk melayani semua yang lain, semua aset, index.html, dll., tetapi saya juga baik

    balas
    0
  • Batalbalas