在vite.config.js文件中配置了跨域后,报错
vue.runtime.esm.js:1443 TypeError: Failed to fetch dynamically imported module: http://localhost:8085/pages/login/login.vue 问题原因
前端封装请求的文件夹和跨域的名称重复了 解决办法
将跨域的api改个名称就好
js
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()
});
}
});
}
}
}
}
})