You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

next/link自动将href转为绝对路径,如何保留相对路径?

解决Next.js next/link生成绝对路径的问题

问题场景

使用next/link编写的代码:

<Link href="/examples/fetch-rest-data" >
     <a>SWR</a>
</Link>

生成的HTML中a标签href为带域名的绝对路径:

<li>
    <a href="https://localhost/examples/fetch-rest-data">SWR</a>
</li>

需求是生成根相对路径的HTML:

<li>
    <a href="/examples/fetch-rest-data">SWR</a>
</li>

解决方案

1. 生产构建默认行为

Next.js在生产构建(npm run build)后,next/link会自动输出根相对路径的href,无需额外配置。开发环境下的绝对路径是框架为支持热更新等特性的默认行为,不影响生产使用。

2. 强制开发环境输出相对路径

如果需要在开发环境也得到根相对路径,可在项目根目录的next.config.js中添加以下配置:

/** @type {import('next').NextConfig} */
const nextConfig = {
  basePath: '', // 根路径部署时保持为空,子路径部署需填写对应路径
  experimental: {
    relativeLinks: true,
  },
}

module.exports = nextConfig

3. App Router(Next.js 13+)适配

如果使用App Router,next/link无需嵌套<a>标签,直接编写:

<Link href="/examples/fetch-rest-data">SWR</Link>

该写法在生产和开发环境(配置上述参数后)都会生成根相对路径的href。

内容的提问来源于stack exchange,提问作者Mauricio Scardaccione

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 06:18:24