uni-app+vue3+js+vite解决跨域后报错TypeError: Failed to fetch dynamically imported modul

388 阅读1分钟

在vite.config.js文件中配置了跨域后,报错

vue.runtime.esm.js:1443 TypeError: Failed to fetch dynamically imported module: http://localhost:8085/pages/login/login.vue 1742260349420.jpg 问题原因

前端封装请求的文件夹和跨域的名称重复了 image.png 解决办法

将跨域的api改个名称就好

import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [uni()],
  server: {
    port: 8085,
    open: true,
    proxy: {
      '/api-server': {
        target: '要跨域的地址',
        changeOrigin: true,
        secure: false,
        rewrite: (path) => path.replace(/^\/api-server/, '/api'),
        configure: (proxy, options) => {
          proxy.on('error', (err, req, res) => {
            console.log('代理错误:', err);
          });
          proxy.on('proxyReq', (proxyReq, req, res) => {
            console.log('代理请求:', req.method, req);
          });
          proxy.on('proxyRes', (proxyRes, req, res) => {
            console.log('代理响应:', proxyRes.statusCode, req.url);
            // 如果是404错误,打印更多信息
            if (proxyRes.statusCode === 404) {
              console.log('404错误详情:', {
                url: req.url,
                originalUrl: req.originalUrl,
                headers: proxyReq.getHeaders()
              });
            }
          });
        }
      }
    }
  }
})