Время компиляции при разработке модулей для приложения Create React с Lerna замедляется - PullRequest
0 голосов
/ 23 июня 2019

Я работаю над реактивным шаблоном и решил модульнить некоторые компоненты, сделав их частными пакетами npm, которые мы можем включить.

Для производства эти модульные пакеты работают нормально, но теперь нам нужно настроитьсреда разработки для их разработки (теперь их больше нет в шаблоне).

У меня изначально были проблемы с npm link и peerDependencies (у некоторых модулей есть peerDepenencies других), и это было хлопотно, потому что мыстолкнулись с проблемами с дублирующими копиями реагирующих и стилевых компонентов.

Вот где Lerna вступила, мы решили, что будем использовать Lerna, чтобы мы могли поднимать и использовать функцию преобразования ссылок lerna, чтобы обойти дубликатпроблемы с зависимостями ... и это работает!

У нас есть шаблон в корне и модули в каталоге / packages.

Итак, мы запускаем npm start из корня, и приложение запускаетсяв браузере все работает нормально.

IssТеперь мы сталкиваемся с тем, что когда мы вносим изменения в один из наших модулей и запускаем npm run build для компонента, изменения вступают в силу через несколько минут (что ужасно).

Этоне сборка, которая занимает много времени, это сборка реагирующих сценариев ....

Кто-нибудь имеет какой-либо опыт с этим?У меня ощущение, что мы делаем что-то не такЛюбая помощь будет высоко ценится!

вот вывод npm run build одного из моих компонентов: `

[BABEL] Note: The code generator has deoptimised the styling of /Users/jonnycarter/code/scaffold/packages/flightjs-utilities/build/index.js as it exceeds the max of 500KB.

Hash: e6d702f8e3ec3e4274d9

Version: webpack 4.35.0

Time: 11756ms

Built at: 23/06/2019 18:23:30

   Asset      Size  Chunks                    Chunk Names

index.js  1.82 MiB       0  [emitted]  [big]  main

Entrypoint main [big] = index.js

[0] external "react" 42 bytes {0} [built]

[3] ../flightjs-utilities/build/index.js 1.24 MiB {0} [built]

 [10] external "styled-components" 42 bytes {0} [built]

 [12] external "react-dom" 42 bytes {0} [built]

 [14] (webpack)/buildin/global.js 472 bytes {0} [built]

[186] (webpack)/buildin/module.js 497 bytes {0} [built]

[187] /Users/jonnycarter/code/scaffold/node_modules/moment/locale sync 

^\.\/.*$ 3 KiB {0} [optional] [built]

[188] ./src/index.js + 34 modules 118 KiB {0} [built]

`

  | ./src/index.js 619 bytes [built]
  | ./src/hooks/useAuth.js 205 bytes [built]
  | ./src/hooks/usePermission.js 268 bytes [built]
  | ./src/hooks/useProfile.js 5.67 KiB [built]
  | ./src/hooks/useChangePassword.js 6.56 KiB [built]
  | ./src/hooks/usePermissionCheck.js 3.45 KiB [built]
  | ./src/hooks/useAxiosRefresh.js 4.72 KiB [built]
  | ./src/hooks/usePasswordReset.js 7.08 KiB [built]
  | ./src/hooks/useLogin.js 5.73 KiB [built]
  | ./src/hooks/useForgotPassword.js 6.01 KiB [built]
  |     + 25 hidden modules
+ 279 hidden modules

ПРЕДУПРЕЖДЕНИЕв конфигурации Опция 'mode' не была установлена, для этого значения webpack откатится до 'production'.Установите для параметра «mode» значение «development» или «production», чтобы включить настройки по умолчанию для каждой среды.Вы также можете установить его в «none», чтобы отключить любое поведение по умолчанию.Подробнее: https://webpack.js.org/configuration/mode/

ПРЕДУПРЕЖДЕНИЕ об ограничении размера актива: следующие активы превышают рекомендуемый предел размера (244 КиБ).Это может повлиять на производительность сети.Активы: index.js (1,82 МиБ)

ПРЕДУПРЕЖДЕНИЕ при ограничении размера точки входа: следующий размер точки входа (ов) превышает рекомендуемый предел (244 КиБ).Это может повлиять на производительность сети.Точки входа: main (1,82 МиБ) index.js

ПРЕДУПРЕЖДЕНИЕ в рекомендациях по производительности веб-пакета: вы можете ограничить размер пакетов, используя import () или require.ensure, чтобы лениво загружать некоторые части вашего приложения.Для получения дополнительной информации посетите https://webpack.js.org/guides/code-splitting/

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...