刚尝试使用vue3+vite写项目,打包部署的时候遇到了问题
vite.config.js中的base也配置了,但是网络发送请求的时候总是会带上这个路径名,无解,求教是什么原因。
怎么破
刚尝试使用vue3+vite写项目,打包部署的时候遇到了问题
vite.config.js中的base也配置了,但是网络发送请求的时候总是会带上这个路径名,无解,求教是什么原因。
怎么破
在 Vite 中,base
配置项通常用于设置部署时的基础路径(Base URL)。如果你在本地开发时配置了 base
,并且发现请求时 URL 总是包含这个基础路径,但你的意图是仅在生产环境中使用它,这通常是因为你的开发服务器也使用了这个配置。
确保只在生产环境中设置 base
:
你可以通过环境变量来控制 base
的值。在 vite.config.js
中,你可以根据环境变量来动态设置 base
。例如,使用 process.env.NODE_ENV
来区分开发环境和生产环境:
// vite.config.js
import { defineConfig } from 'vite';
export default defineConfig({
base: process.env.NODE_ENV === 'production' ? '/your-production-base/' : '/',
// 其他配置...
});
然后,确保在启动开发服务器和生产构建时设置正确的环境变量。
base
的 URL,那么无论 base
如何配置,这些 URL 都会保持不变。确保你的资源请求是相对于 base
的,或者动态构建它们。server.proxy
),请确保代理的 URL 也没有硬编码 base
。代理的 URL 应该只包含目标服务器的路径部分。base
路径开始的资源。服务器配置(如 Nginx 或 Apache)需要知道如何响应这些路径的请求。通过以上步骤,你应该能够解决 Vite 配置 base
后请求仍带路径名的问题。如果问题仍然存在,可能需要更详细地检查你的项目配置或代码实现。
3 回答3.3k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
5 回答2k 阅读
看下请求封装方法,
baseUrl
字段应该有接近了请求前缀