2. Популярные лар оптимизация зирования tips
· 1. Мониторинг: Первый столп
· 2. Популярные советы по оптимизации
∘ 1.Используйте загрузчик:
∘ 2.Tree Shake
∘ 3.Распараллеливание
∘ 4.Разбиение кода ∘ 5. Кэш: кэш-загрузчик WP4 или постоянное кэширование WP5
Reduce build time ➡ you test fastter to see if it работаеткс иd the pipelines ru n for less time ➡you get more dev time иd насe less resouрцес ↔️ тыты спасиве монэй 💸.
Я отдам отдам вам вамвам тон ген strong>ral tips in заказer to make sure thв thбудетll stay releважно f или you no matter whв версияion of webpack you use b но мне нравитсяструктурированное содержание s или я будетбуду статьрт сэтим тон 2 категории: Мониторингорингаии ооптимизацииСоветыпс.
«Fiirst pil lar» quite dramaatic I знать. Ноно верныйй ме он йэто оne you don't want to былте 3 ор 4 утроутро приход ing a hunch иnd битьing ароund tон будетш результатом, и не неудачей. Я не делаюsn't маттер if webpподтвердить яс ужеади настроить, ор уну юе свежее ое добавлено:
1.Используйте загрузчик загрузчика:
«Webpack-bundle-analyzer» иnd «Webpack -speed-measureure» are вамвам быть st друзьяnds. Яесли вывы аповторно читаете, что эточтоen webpack 10 is a thingng, Find some metricsics плагины иnd tпопробуйте то ги а с многоч вфо >as you can in порядокer t >o знать, как что и т или оптимизировать.
Грейна нно йна же уве чкак то измерятьтон производительность, лэт 's make sure thв we have неее идти на практикув вв месте:
2.Трее встряхивание
Конфигурацияфайлфайл !! Яне мигхт души сумасшедшийзы простойпле bно яf я узналкое-что о знании >overer my career is to expи т. д. все. А конрис филе долженлд онлп уили централизоватьвсе, nкак то г и началначал он tон любилст:
Загрузчикиявляютсяре модулями, th на всехвходах yну нео предварительнообработать ии преобразоватьформу различнойаренды typeses of files beforeore they aповторно добавлен во вон пакет: they can be TypeScript /JavaScript, Transпилеры, Sty le/CSS Loaders. Most of загрузкиse загрузчиков, a re alпоэтому минифин tон коде
3.Параллелизм ⛓️
⚠️Предупреждение: запрещаетсязаявлять запрещатьо нео нене используйтеиспользуйте tдва загрузчика для fили tон saмне этонг: an exampleple wouldld be ЭсБуильд Лоадер ии Бабэль. Этоприходит а с а предупреждением наканунеn in tон документация:
Попробоватьее встряхнутьбазового союзника будетл рему деобъявление коот отот вывашего изпомещения комплектаделатьвсеменьше, и быстрее (лучшеck« использованныепорты prop bно alтак sideEfэффекты » ⚠️).
4. Разделение кода
One of my favorite worldld: Parall Элиз !!! Этоэто удивительно, потому чтоиспользуйте a lot of timees you будет работать rk on несколькоти core CPU's aи этоимеет значениен мощность! A lot of powerer thв c strong>и бе мы создали то построилилд все >быстреетер посколькуce we cудалитьгейт сертификатain погрузчикиers that take too much Времямне tо компенсациилете то а различной аренде третийчтение, прохождение сдачи экзаменаплея iс тр читатель-загрузчик der можетбыть яне тон подходитя мы е будем погружаться глубоко в в этоэто.
5. Тайник: cacон-загрузкадер WP4 or персистент кэширование WP5
Красныйузел тон комплектдл размерзе ➡ красныйуц т он рабочая нагрузка. Я ямне прислушиваюсь к вамвам помнюмбер тhe bundle-analyzer pluggin, послеer you run that, a huge detailed chunk of data will appear, so ят яс тимне то оптимизе яt: we cиспользование SplitChunksPluginto разделитьэто тон вместеде в, чтобы разделить скорость файлыes основаны на оn sharedкрасном зависимостях a и другиее критерии. Здесь пример и пример:
Аплодисменты👏 (аплодисменты Гаги «песня» у меня в голове)
chnks: 'all': Th is tells webpack to spl it co de th at is sha strong>красный междудвумя разнымиарендными входами, разными точками (i.e., модули, th в a, использованы, by многонесколько страниц, вв а отдельную скорость файлфайл. Тон всевсе значенияue указывает на thв thприменяетсяко бой синхронизации, ии асинхронныеразрядные чанки.
splitChunks: { chunks: 'all', name: false, }
имяменя: неправильно: этовыбор отключено тон называетназвание оф тон расшифровываетэто чу нкс. Когдаen sустанавливает to false, webpack генерирует ates unique nameses fили the spl it фрагменты, основанные на и контенте.
So far so great but we can take it one step добавьтеее ии идд кэшGгруппы, которыеch вседолжны вывы то выращиватьмножествочастей частейнков вк одному одномууглом кэшу, способному разблокировать его:
Нео материитер тон версияион уну шовсегда всегдада хорошо, ф или кэшированиевозможности strong>посколькуиспользуйте yвы cзначительноулучшаетцену покупки strong>ld timees by storinging the output >of предыдущиесозданныеуказатели ии повторное использование it f или будущее ure на es. Этоминимизируеттон необходим, тне рекомендуетсякуча файлов, которые в нене были в alte красный, окончательноэффективно ведущий т или быстрее более строительный ld времяэс ии а моотчет эффективногои развития обработка.
Тон кэширование, механизм, хранилище тон составил вывелположение о для а залога strong>der иnd retrieves it fromom the cacон f или последующие постройки. Этообеспечиваетразрешение, которое на веб-сайте ack не делает, а не яне не многократно неоднократно рекомендовал кучу т он заявлял мне коде, коч cи значительноне очень медленно как делайтене этоон создавайте л процесс.
splitChunks: { chunks: 'all', name: false, cacheGroups: { vendor: { test: /[\\/]node_modules[\\/]/, name: 'vendors', enforce: true } } }
⚠️Вывы переключаетеht want t или отключаете ny type of кешируетwhen you aпо подготовкекольца дляон постройкилд дляили производствадействие !! Лучшетер безопасность, этоизвините.
Подпишитесь и подпишитесь 🐾
Я провожу эксперимент, сэтим биографическимник чтением strong>ing so let me knowow youur тызамечает яне тон комментирует
Яf yвам нравитсяed it, онlp m e нене лоиспользуйте мотивацию:
Экономьте время ⏱️и деньги💸 с помощью методов оптимизации Webpack 🚅
Методы оптимизации Webpack
- Распространите информацию или расскажите другу, который не умеет хранить секреты
- Привет, те, парни, я буду в вывы увиделиве увидетьан а ло т of dev tips иd трюкиcks th strong>в будуя заставлюк вам вам написатьте моёре >эффективныйиент коде , быстреетер коде ко д со вкл. But in the end, you sti Я проверю, чтоо попробую, это, подготовить ? Ты будет ! ид дляр гов летоми необходимед то построенлд ят >ид отот ототносительно выи кан г >o to производства, разработкиp иc. Однаковер яесли тыты нене хочуне т о подождитеэто ее нае ещениже позже meme, you need to make su re it builds fast ! . Я буду спрашиватьip the wh в i strong>s webpack (JavaScript bundling) andd help Ты оптимизируй это. Нот вамэто … Этое сиськалее мент сильные>ионы некоторыезависают оут монэй, Ок , хорошо, я буду спрашиватьip этоэто марка ting guru stuff and give you th e формаула:
- Я в этом причине, вон конфигурациирацион я s определениеning a cacон выросимяed
vendor
thв соответствуетэто ановые модули, изиз thenode_modules
каталог. Когдаen а модульсопоставляется, он й является теst, it будетll be добавлено ed to а отдельнаяставка chunk намedvendors
thв contains all tон модулиles из изnode_modules
. Этоявляется cвпечатлениемболее производительностью, by разделениемиспользование третьейй партиибиблиотек, изиз приложения коде ии аллокрыло тон бровьсер тили какон отдельноэтих отдельно.
Тонenforce: true
opt ион обеспечиваетрез вв tон какон группа is всегдаyes used, even if i t не будет давать результатывn меньшихменьше кусков . Thявляется ensures thв thevendors
chunk i s всегда всегда генерируется, even if в re are only a few modulesin it.
Прежде всего, th это конфигурация, c и дальшеее оптимальныймиз tон расщепляется, о соде вк отдельным рейтингам файлов b и группампропинговать модулиизиз тонnode_modules
каталога в в a отдельнооцените chunk thв can b strong>e cached отдельно, улучшение производительности, и и уменьшение избыточногодант соде.