Как получить React / Webpack для разделения пакетов и рендеринга динамически? - PullRequest
2 голосов
/ 12 марта 2020

Я унаследовал отрендеренное приложение на стороне сервера / Universal React / Redux. При его создании для производства у меня остается пакет размером 6 МБ и время загрузки ~ 1 se c (wifi), которое я, очевидно, хотел бы сократить.

Будучи приложением SSR, оно разделяется примерно так:

src/
  client/
  server/

Для сборки, в client.webpack.config у меня есть точка входа на стороне клиента (без рендеринга на сервере).

скомпилирована и связана с записью типа:

 entry: [
      './src/client/index.js',
    ],

Bundle выходит 6 МБ.

Пробовал:

  1. разбиение entry указывает на все контейнеры (например, src / client / pages / Account / index . js, src / client / pages / About / index. js et c). Не уверен, как сказать «src / client / index. js, но тогда дочерняя папка в этой области должна быть отдельной связкой». Даже с учетом ВСЕХ контейнеров, похоже, не создается новый пакет для всех них, чего я и ожидал от Документация Webpack .

  2. Загружаемые компоненты ( / ленивая загрузка). Это похоже на то, что контейнеры обрабатываются как асин c объекты / модули для загрузки, которые не останавливают основной интерактивный контент, что имеет смысл. Но как это будет работать с разделом SSR приложения? Если вы загружаете '/' afre sh, это будут компоненты, отображаемые на стороне сервера. Не ленивая загрузка на стороне клиента.

Я просто хочу сделать это:

  • сказать веб-пакету разделить пакет на 3. (LandingPage / root , Поток регистрации, область учетной записи).
  • указание приложению использовать указанный c пакет в зависимости от URL / местоположения.

Как это сделать?

...