Nuxt路由前缀导致_nuxt目录请求URL带前缀报404的问题求助
Nuxt2 路由前缀导致 _nuxt 目录请求带前缀 404 问题解决方法
核心原因
你设置的router.base路由前缀会被Nuxt自动应用到构建产物(_nuxt目录)的请求路径上,但你的部署环境中_nuxt资源实际是放在根路径下的,导致请求带前缀后返回404。而static目录下的资源(比如third_party里的文件)不受影响,因为Nuxt对static目录的资源引用默认使用根路径,不会继承router.base前缀。
解决方案
在nuxt.config.js中手动指定build.publicPath,强制_nuxt资源的请求路径不带路由前缀:
export default { // 你的路由前缀配置 router: { base: '/prefix/' }, // 覆盖默认的publicPath,确保_nuxt资源请求路径为根路径下的_nuxt目录 build: { publicPath: '/_nuxt/' } }
额外注意事项
- 重新构建项目并部署,确保新的配置生效。
- 检查服务器配置(如Nginx、Apache),确保
/_nuxt/路径能正确映射到部署目录下的_nuxt文件夹。比如Nginx配置示例:
location /_nuxt/ { alias /path/to/your/project/dist/_nuxt/; }
内容的提问来源于stack exchange,提问作者Jérôme BORGA
相关产品推荐
相关产品推荐

