Далее JS НЕ обслуживает активы с Dynami c AssetPrefix - PullRequest
0 голосов
/ 21 апреля 2020

Итак, у меня есть докеризованное приложение Next JS, которое размещено на AWS (kubernetes, ECR ... et c), и к нему можно получить доступ с помощью нескольких URL, например:

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

И, зная, по какому URL-адресу загружено приложение, мы загружаем в базу данных другую конфигурацию / разные запросы ... et c

Проблема в том, что при доступе к этим URL-адресам я получаю 404 поскольку Next JS пытается загрузить активы из www.mydomain.com/_next/statc/....., то есть Next JS пытается получить доступ к активам из root домена,

Я обнаружил, что способ сделать это работа использует assetPrefix (Обратите внимание, что я не могу поместить assetPRefix в next.config.js, потому что сам assetPrefix имеет значение Dynami c, поэтому я попытался загрузить его следующим образом в 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, и приложение не работает.

У кого-нибудь есть идея ? Заранее спасибо!

...