NextJS不使用动态AssetPrefix服务资产

时间:2020-04-21 14:21:38

标签: javascript reactjs amazon-web-services next.js server-side-rendering

因此,我有一个托管在AWS上的dockerized NextJS应用程序(kubernetes,ECR等),可以使用多个URL来访问该应用程序,例如:

www.mydomain.com/myApp
www.mydomain.com/french-territory/monApp
www.mydomain.com/german-territory/meinApp
....etc

然后通过知道哪个URL加载了应用程序,我们将不同的配置/不同的请求加载到数据库...等

问题是访问这些URL时出现404,因为NextJS试图从www.mydomain.com/_next/statc/.....加载资产,这意味着NextJS试图从域的根目录访问资产,

我发现一种完成这项工作的方法是使用assetPrefix(请注意,由于assetPrefix本身是动态的,因此无法将assetPRefix放入next.config.js中,因此我尝试像这样将其加载到我的server.js中:

server.get('*', (req, res) => {
    const reqUrl = req.protocol + '://' + req.headers.host + req.url
    const config = extractConfig(reqUrl)
    app.setAssetPrefix(config.assetPrefix)
    return handle(req, res)
  })

extractConfig加载适当的assetPrefix的位置,例如: www.mydomain.com/french-territory/monApp assetPrefix='/french-territory/monApp',但仍然收到404,并且该应用无法正常工作。

有人有想法吗? 预先谢谢你!

0 个答案:

没有答案