Разделение кода на основе маршрута на стороне клиента React js
ПРИМЕЧАНИЕ. Этот метод предназначен только для рендеринга на стороне клиента.
когда ваше приложение растет, его размер тоже растет.
Это увеличит начальное время загрузки, в результате чего пользователи будут чувствовать себя некомфортно. опыт работы с веб-приложением будет плохим для пользователей.
Загружать только необходимые файлы изначально и показывать что-то пользователям намного лучше, чем пользователь, ожидающий 5-10 секунд, чтобы загрузить все веб-приложение.
Тем временем мы можем загрузить в браузер пользователя дополнительные файлы с требованиями пользователя.
в этом методе приложение разделит код по маршрутам
в качестве примера возьмем типовое веб-приложение с тремя маршрутами
мой-веб-сайт/
мой-веб-сайт/контакты
мой-веб-сайт/о нас
в этом примере, если пользователь изначально запросил маршрут «my-web-site/about», ресурсы [код] для /contact не будут загружены. ресурсы, связанные с /contact [код], будут загружаться в браузер только в том случае, если пользователь хочет переключиться на маршрут /contact
Итак, давайте приступим к коду
create-react-app code-splitting-sample-app cd code-splitting-sample-app
сделать домашнюю страницу в папке src
сделать страницу about в папке src
сделать контактную страницу в папке src
позволяет добавить маршрутизацию в приложение. для этого нам нужен пакет npm retact-router-dom
npm install react-router-dom
давайте добавим маршруты и пути.
после добавления маршрутов файл app.js будет таким
нам нужно еще два импорта ленивых, приостановка реакции
import React, { lazy, Suspense } from 'react';
Компонент приостановки используется для отображения некоторого контента до тех пор, пока новый компонент не загрузится для просмотра.
для загрузки компонентов с ленивой загрузкой мы определяем их как константы следующим образом
const Home = lazy(() => import("./Home")); const About = lazy(() => import("./About")); const Contact = lazy(() => import("./Contact"));
окончательный файл App.js будет таким
Это оно !