最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3+vite+ts如何配置多個代理并解決報404問題

 更新時間:2025年04月03日 10:00:26   作者:周家大小姐.  
這篇文章主要介紹了vue3+vite+ts如何配置多個代理并解決報404問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

vue3+vite+ts配置多個代理并解決報404

之前配置接口代理總是報404,明明接口地址是對的但還是報是因數(shù)寫法不對;用了vue2中的寫法

pathRewrite改為rewrite

根路徑下創(chuàng)建env文件根據(jù)自己需要名命

.env.development文件內(nèi)容

# just a flag
ENV='development'

# static前綴
VITE_APP_PUBLIC_PREFIX=""
# 基礎(chǔ)模塊
VITE_APP_BASIC_PREFIX='/basicSetting'
# 任務(wù)模塊
VITE_APP_TASK_PREFIX='/task'

# 網(wǎng)關(guān)
VITE_APP_GATEWAY_PREFIX='/gateway/admin'
# 主題
VITE_APP_THEME=light


# vue-cli uses the VITE_CLI_BABEL_TRANSPILE_MODULES environment variable,
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
# It only does one thing by converting all import() to require().
# This configuration can significantly increase the speed of hot updates,
# when you have a large number of pages.
# Detail:  https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js
VITE_CLI_BABEL_TRANSPILE_MODULES=true

在vite.config.ts中配置poxy代理

import proxyConfig from './proxy'
const viteConfig = defineConfig(({ mode }) => {
 
  return {
    server: {
      host: '0.0.0.0', //解決“vite use `--host` to expose”
      port: 8080,
      open: true,
      proxy: proxyConfig
    }

  }
})
export default viteConfig

創(chuàng)建proxy.ts文件

import { ProxyOptions } from 'vite'

import { loadEnv } from 'vite'

const env = loadEnv('development', process.cwd())

const proxies: Record<string, ProxyOptions> = {
  // 任務(wù)模塊
  [env.VITE_APP_TASK_PREFIX as string]: {
    target: 'http://xxx:31249', // 目標(biāo)地址 --> 服務(wù)器地址
    changeOrigin: true, // 允許跨域
    rewrite: (path) => path.replace(new RegExp(`^${env.VITE_APP_TASK_PREFIX}`), '')
  },
  [env.VITE_APP_GATEWAY_PREFIX as string]: {
    target: 'http://192.168.8.xx:8080', // 目標(biāo)地址 --> 服務(wù)器地址
    changeOrigin: true, // 允許跨域
    rewrite: (path) => path.replace(new RegExp(`^${env.VITE_APP_GATEWAY_PREFIX}`), '')
  }
  // 添加其他代理配置
}

export default proxies

api.ts接口使用

import request from '@/request/request'
import settings from '@/settings'
export function getTaskList(data: any): Res<any> {
  return request({
    url: settings.taskPrefix + '/adm/detectionTasks/page',
    method: 'post',
    data
  })
}

其中的settings.ts文件可以不用封裝直接寫你的env就行;也可以像我一樣封裝

export default {
  /**
   * 任務(wù)模塊
   */
  taskPrefix: import.meta.env.VITE_APP_TASK_PREFIX,

  /**
   *  網(wǎng)關(guān)服務(wù)文件前綴
   */
  gatewayPrefix: import.meta.env.VITE_APP_GATEWAY_PREFIX
}

頁面中調(diào)用接口

import { getTaskList } from '@/api'
 const param = {
          entity: {},
          betweenCondition: {},
          page: {
            page: 1,
            pageSize: 10
          }
        }
        getTaskList(param)
          .then((res) => {
            console.log(res)
          })
          .catch((err) => {
            console.log(err)
          })

效果:

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

乌鲁木齐市| 宝山区| 慈利县| 东乌珠穆沁旗| 揭西县| 澳门| 永济市| 谷城县| 濮阳县| 临澧县| 饶平县| 红安县| 杨浦区| 荃湾区| 瓮安县| 蓝田县| 浪卡子县| 天镇县| 大庆市| 土默特右旗| 盖州市| 贵南县| 彝良县| 康马县| 德化县| 葫芦岛市| 古浪县| 罗定市| 图木舒克市| 沙湾县| 莱西市| 清水河县| 措美县| 鸡东县| 禹州市| 贵南县| 铁力市| 唐河县| 开远市| 余姚市| 射洪县|