我正在尝试弄清Next.js重写和使用http-proxy-middleware设置代理之间的区别。我有一个Next.js项目,其中一些代理已经在API中设置好了,想知道是否可以将代理替换为重写。
如果有区别,是什么?我是否遗漏了什么?
重写
是一种方便的方式,可以在不设置自己服务器逻辑的情况下代理请求 - Next.js代替你处理它。
就像http-proxy-middleware
一样,它们允许您将传入的请求路径映射到不同的目标。主要区别是,当使用Next.js内置路由器(通过next/link
或next/router
)在页面之间导航时,重写
也会应用于客户端路由。
来自 重写
文档:
重写充当URL代理并隐藏目标路径,使其看起来用户未更改站点上的位置。
(...) 重写应用于客户端路由,在上面的示例中,
<Link href="/about">
将应用重写。