gpt4 book ai didi

javascript - 如何处理 NextJS 导出带有 .html 扩展名但在 中没有 .html 的文件

转载 作者:行者123 更新时间:2023-12-01 15:45:41 25 4
gpt4 key购买 nike

所以,我有一个 NextJS 应用程序,我建立链接的方式是通过组件。例如:<Link href="/my-page"><a>My page</a></Link> .我已经使用这种模式构建了整个应用程序,但是,当我进行导出以生成静态站点时,它创建了带有 .html 扩展名的页面的 out 文件夹。这现在是一个问题,因为,假设一个链接可能指向 /my-page但实际页面是/my-page.html .处理这个问题的正确方法是什么? NextJS 是否允许我们在这种情况下做任何事情,或者我是否需要返回并使用 /my-page.html 对我的所有标签进行编码?链接?
谢谢。

最佳答案

next.js 中用于静态生成的默认设置是映射此代码:

/pages/p1.tsx
到这个文件:
/p1.html
问题在于,当您使用下一个服务器时,指向/p1 的链接将起作用,而在您提供静态文件时将失败。
如果启用此功能,在 next.config.js 中:
module.exports = {trailingSlash: true,}
然后你会得到一个不同的文件:
/p1/index.html
在大多数通用 Web 服务器(例如,开箱即用的 Apache)上,您会得到以下行为:
/p1 - redirects to /p1/
/p1/ - serves /p1/index.html
/p1/index.html - serves /p1/index.html
所以我认为 module.exports = {trailingSlash: true,}让你得到你期望的行为。
(@jdaz 指向另一个答案的链接对此肯定很有用,但这个问题非常具体地是关于配置 .htaccess,所以我在这里重复一个类似的答案)

关于javascript - 如何处理 NextJS 导出带有 .html 扩展名但在 <Link> 中没有 .html 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62867105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com