我目前正在使用 Next.js 做一个应用程序8.0.3
。
在当地一切都很好。但是,当我使用 Caddy 部署应用程序时,我遇到了一些麻烦。
关于我的 Next.js 部分,我正在使用自定义服务器并为该服务器提供服务,我正在这样做:
next build
NODE_ENV=production node server.js
问题本身是关于将应用程序路由到子路径,例如/beta
在该子路径内运行所有应用程序。
球童档案
localhost:8000
proxy /beta http://localhost:3000/
当我运行http://localhost:8000/beta
在浏览器中打开的应用程序时,HTML 已正确加载,但未加载所有样式、资产和 javascript 文件。既不是页面之间的导航。它在后面查看这些文件/
,而我期待在后面/beta
。
复制失败的 url 并尝试找到添加的正确路径/beta
,文件也不存在......
不过,如果没有子路径/beta
(如果我直接使用 root /
),一切正常。但这不是我正在寻找的解决方案,因为我在同一个域后面运行了更多应用程序。
有一个解决方法是这个特定的例子。是代理也/_next
和/static
。但对我来说不是一个好的解决方案,原因不同:
- 无法运行超过 1 个 Next.js 应用程序,例如
/beta
,/alpha
。 - 此解决方案不修复页面之间的导航。
- 我想在 Next.js 部分解决这个问题(如果可能的话),而不是在 Caddy 部分做一个解决方法。
看起来这与 Next.js 部分有关。但我对此很迷茫。我试图更改assetPrefix: '/beta'
,然后正在寻找文件/beta/file
而不是/file
. 但是文件也不存在...
有人可以帮助我吗?