右键新标签打开NuxtLink时缺失Base URL问题求助
解决Nuxt-link右键新标签页打开缺失Base URL的问题
1. 修正Nuxt路由基础路径配置
在nuxt.config.js(或nuxt.config.ts)中,根据环境区分配置router.base,确保生产环境路径与服务器实际部署路径完全匹配:
export default { router: { // 开发环境用自定义Base URL,生产环境匹配服务器路径(注意小写) base: process.env.NODE_ENV === 'production' ? '/mybasename/v.2/' : '/MyBaseName/v.3/' } }
这个配置会让Nuxt自动为所有nuxt-link生成的href拼接对应的基础路径,无论客户端跳转还是右键新标签页打开,都能得到正确的URL。
2. 验证渲染后的href属性
部署生产包后,检查页面中nuxt-link渲染后的HTML元素,确认其href属性为/mybasename/v.2/#/about。右键新标签页打开时,浏览器会基于当前域名自动拼接这个路径,生成预期的完整URL。
3. 检查服务器静态文件映射(若需)
如果配置后仍有问题,确认服务器是否正确将/mybasename/v.2/路径指向Nuxt的打包产物目录。以Nginx为例,配置示例如下:
location /mybasename/v.2/ { alias /your/nuxt/dist/path/; try_files $uri $uri/ /mybasename/v.2/index.html; }
4. 保持路径写法规范
始终在nuxt-link的to属性中使用相对路径(如/about),不要硬编码完整URL,让Nuxt的路由系统自动处理基础路径拼接,避免环境不一致导致的路径错误。
内容的提问来源于stack exchange,提问作者Grimoria Grimore
相关产品推荐
相关产品推荐

