Портативные сборки и CDN, со следующими изображениями и следующими шрифтами - PullRequest
7 голосов
/ 28 мая 2019

Я пытаюсь сделать свои сборки Next.js переносимыми, что означает, что я запускаю команду сборки один раз, а затем сайт может быть развернут в любой среде, все различия которой контролируются переменными среды.Основной мотивацией для этого является ускорение развертывания при переходе через QA или промежуточные среды к производству.

Я также хочу загрузить все статические файлы (в основном js, изображения и шрифты) в S3.

Я использую next-images и next-fonts, проблема в том, что оба из них, по-видимому, позволяют только кодировать открытый путь этих ресурсов во время сборки.Поэтому, если я хочу включить префикс CDN в путь, я теряю возможность иметь переносимые сборки.

Next.js сам по себе позволяет устанавливать свои собственные assetPrefix во время выполнения, так что у меня есть работакак и следовало ожидать, ресурсы, управляемые следующими, такие как файлы сценариев.

Я часами пытался связываться с __webpack_public_path__, чтобы попытаться заставить это работать, но безуспешно.Прямо сейчас, единственный жизнеспособный план, который я имею, состоит в том, чтобы обернуть каждое использование статических ресурсов функцией, которая определяет префикс пути во время выполнения.Это будет огромный объем работы, поэтому я бы предпочел не делать этого, если есть лучший способ.

Кто-нибудь сумел решить эту проблему на уровне конфигурации, а не на уровне кода приложения?уровень

...