Next.js NextJS assetPrefix和basePath前缀未生效

Next.js NextJS assetPrefix和basePath前缀未生效,next.js,Next.js,我试图创建一个简单的NextJS站点,在所有链接上都有/app前缀,但没有成功。因此,在主页上(有一个链接到/about),about链接应该以/app/about结尾 (根据下面的评论更新)我的next.config.js文件如下所示: module.exports = { assetPrefix: "/app", publicRuntimeConfig: { basePath: "/app", }, basePath: &quo

我试图创建一个简单的NextJS站点,在所有链接上都有
/app
前缀,但没有成功。因此,在主页上(有一个链接到
/about
),about链接应该以
/app/about
结尾

(根据下面的评论更新)我的
next.config.js
文件如下所示:

module.exports = {
  assetPrefix: "/app",
  publicRuntimeConfig: {
    basePath: "/app",
  },
  basePath: "/app",
};
我的
package.json
的脚本部分有:

    "build": "next build && next export",
但是,当我将生成的
out
文件夹的内容复制到我的web服务器时,索引页的“About”链接总是指向
/About
,而没有所需的前缀。是什么原因造成的?似乎
assetPrefix
值正在工作:


因此,只有root
basePath
字段不起作用。

这个问题最近被报告为已修复


尝试使用最新的金丝雀版本。现在它是9.5.2-canary.18

根据nextjs文档,您应该设置module.exports={basePath:'/app',},而不是在publicRuntimeConfig下。使用publicRuntimeConfig的页面必须有getInitialProps,否则它将不可用。@zoranjeremic我调整了next.config.js,使其看起来与root
basePath
字段相同,但仍然运行相同的结果。此外,为了确认这是NextJS问题(与此应用程序所在的服务器无关),当我直接打开
out
文件夹中生成的
index.html
文件时,它会链接到
file:///about
,而我希望它是
file://app/about
尝试改用experimental.basePath。另外,尝试使用nextjs的最新金丝雀版本9.5.2-canary.18。有一些报告说,这是最近修复的,这样做的伎俩!谢谢你让我注意到金丝雀的释放。如果你把它作为一个答案,我会接受。