Как настроить i18n.config.js так, чтобы `preact build --prerenderUrls. / Prerender-urls.js` выполнялся успешно?
У меня есть установка внешнего интерфейса, которая использует
http
-бэкэнд. Эта конфигурация предназначена для облегчения обслуживания переводов по запросу из сети CDN, в которой приложение будет запускать в производственной среде. Пока я могу заставить это работать, выполнив:
-
npx preact build --no-prerender
с последующим развертыванием в
AWS Cloudfront
Теперь я хотел бы статически описать некоторые из основных маршрутов, но, к сожалению, наивно:
preact build --prerenderUrls ./prerender-urls.js
не работает. Причина этого в том, что когда-то нужно выполнить шаг
prerender
-на этих маршрутах пытается использовать
i18next-http-backend
при отсутствии запущенного http-сервера. В этот момент,
preact build
просто продолжает висеть (как будто я
preact build --analyze
).
Таким образом, для этого шага мне нужно использовать вместо. К сожалению, пока это сработает для объединения переводов на CI / CD-сервере для тех, кто
prerendered
routes, он не будет работать для переводов, которые нужно обслуживать через.
Я вижу только два типа решений этой проблемы:
- Сделайте сборку в два этапа. Сначала с
--no-prerender
с помощью, которая усиливаетhttp-backend
а затем с--prerender
сi18n.config.js
что усиливаетfs-backend
. Проблема здесь в том, что хеши в двух сборках различаются, поэтому я не могу просто скопировать предварительно отрисованные маршруты с другой сборкой. - Настройте http-сервер во время сборки, который может обслуживать эти переводы. Это возможно само по себе, но это довольно хрупкий обходной путь.
Есть концепция связанного бэкэнда с
i18next
это позволило бы мне определить запасной вариант, но в контексте браузера, какой смысл иметь
i18next-fs-backend
как первоисточник?
На этом этапе мне бы очень помогло, если бы кто-нибудь мог указать, что
- Либо есть третий жизнеспособный вариант, который я не рассмотрел.
- Либо я неправильно понял какой-то способ сделать цепочку-бэкэнд
- Либо подтверждение того, что я прав, и что есть веские основания полагать, что
preact-cli
необходимо, чтобы мы могли выполнять сборку из двух частей.