Разделение кода делает ваш пакет привлекательным и привлекательным

Я предполагаю, что вы знали, что такое расщепление кода, или слышали об этом. Что бы это ни было, я покажу вам, как вы тоже можете это сделать!

Хорошо, давай сделаем это быстро! Сделай это!

👶 Плагин Babel, который делает это возможным

// babel.config.js
module.exports = {
  plugins: ["@babel/plugin-syntax-dynamic-import"]
}

Разделение кода достигается с помощью стандартного синтаксиса JS import('<path_to_file>'). Когда webpack видит этот динамический импорт во время компиляции, он создает отдельный «кусок» для каждого из них.

Например, import('./complicated_hello_world.jsx') будет выводиться веб-пакетом как complicated_hello_world.sdhs98ewshd98.js в папке build / dist.

👲 AsyncComponent.jsx

💂 Компонент загрузчика маршрутов

Сначала мы сделаем разделение кода на основе маршрута. Мы сделаем более детальное разделение на основе компонентов за секунду.

Хорошо, допустим, у вас есть папка маршрута с именем Payment, создайте внутри файл с именем Payment.loader.jsx:

👵 Использование

👷 Компонентное разделение кода

Теперь, когда мы выполнили разделение кода на наших маршрутах, давайте с легкостью применим тот же подход к нашим компонентам!

Допустим, мы не хотим отправлять наши чудовищные тексты Условий использования вместе с нашим первоначальным app.js пакетом. Сначала мы создаем компонент для содержимого TnC:

Затем в нашем основном компоненте TnC:

Итак, что произойдет, когда TermsOfUse будет визуализирован, <AsyncComponent /> будет динамически загружать наш <TermsOfUseContent />, показывая счетчик, как указано в <AsyncComponent />, и отображать его, когда он будет готов.

Вот и все! Больше не нужно изучать сторонние библиотеки. Сохраняйте полный контроль над своей судьбой. Напишите свой собственный JS в соответствии с вашим уровнем навыков в удобном для вас темпе с идиоматической парадигмой React, основанной на однократном изучении. Кроме того, вы теперь тоже едете на поезде по расщеплению кода! 🚡