Последняя версия Next.js была выпущена с улучшенной поддержкой Webpack на стороне сервера и первоклассной поддержкой TypeScript. Next.js — это набор инструментов для универсальных, отрисовываемых на сервере (или статически предварительно отрисованных) приложений React.js.
Улучшенная поддержка Webpack означает, что теперь Webpack универсально работает с приложениями Next.js; до сих пор он выполнялся только в клиентских (браузерных) пакетах, то есть разработчики не могли использовать Webpack с Next.js для рендеринга на сервере. Разработчики заявляют, что они тщательно переработали кодовую базу, чтобы сделать Webpack универсальным.
Второе улучшение новой версии — это возможность импортировать файлы CSS и использовать загрузчики Webpack. Разработчики говорят:
«Вместо того, чтобы включать все мыслимые функции и загрузчики по умолчанию, мы представляем плагины Next.js, которые представляют собой простые функции, украшающие вашу конфигурацию».
План состоит в том, чтобы разработать экосистему практических простых расширений, и разработчики открыли монорепозиторий next-plugins для поддержки сообщества Next.js.
Растущее использование TypeScript разработчиками JavaScript стоит за объявлением о том, что TypeScript будет официально поддерживаться Babel 7, а это означает, что разработчики смогут использовать его из Next.js благодаря использованию Next.js Babel. Однако разработчики отмечают, что из-за новой поддержки Universal Webpack это предлагает еще один способ включения полной поддержки TypeScript в Next.js.
В новой версии также улучшена поддержка React Altlibs и Module Overloading. Это означает, что вы можете использовать некоторые замещающие реализации React, такие как preact, nervjs и inferno, или react-dom-lite, если вы хотите использовать заменяющий рендерер DOM. Новая поддержка снова исходит из поддержки Universal Webpack.
Возможно, наиболее интересным дополнением к новой версии является поддержка Zones, методики, которая позволяет разрабатывать и развертывать отдельные приложения, а затем объединять несколько приложений в одно, которое ваши клиенты могут просматривать с помощью одного URL-адреса. Зона — это единое развертывание приложения Next.js, и у вас может быть несколько зон, которые затем можно объединить в одно приложение. В документации говорится, что концепция точно такая же, как у микросервисов, но для интерфейсных приложений. За кулисами зоны зависят от конфигурации уровня внутренней маршрутизации или балансировщиков нагрузки, которые открывают доступ к приложениям всему миру. Вы создаете зону, используя обычные компоненты . Также необходим прокси, и разработчики выпустили пакет узла под названием microproxy. Однако зоны также можно использовать с существующими прокси-решениями.