Я читал о ленивой загрузке кода в реакции.
При ленивой загрузке загружается только необходимый код, и при этом ваша первоначальная загрузка будет быстрее (потому что вы будете загружать гораздо меньше код), и ваша общая скорость будет намного выше по запросу.
Это то, что я понял. В одностраничном приложении вся страница изначально загружается в браузер. Мы используем сборщики модулей, такие как webpack, для объединения приложения на одной странице. Все здорово. Теперь, если размер приложения большой, время загрузки увеличится. Для повышения производительности мы можем разделить пакет на отдельные фрагменты, которые будут загружаться только при необходимости. Мой вопрос: если нам нужно разделить нашу страницу на фрагменты, остается ли это одностраничным приложением, потому что браузеру придется запрашивать эти фрагменты у сервера всякий раз, когда они необходимы? Я чувствую, что в моих знаниях есть пробел, и я не знаю, чего не хватает.
🤔 А знаете ли вы, что...
React имеет строгую систему типов с использованием TypeScript или Flow.
Традиционные веб-приложения раньше работали с обратными передачами на сервер для извлечения HTML для отображения новой страницы. Затем на сцену вышел AJAX, и приложения смогли отображать данные асинхронно, тем самым гарантируя, что пользователю не нужно ждать, пока браузер обновится при обратной передаче для отображения новой страницы.
Современные библиотеки Javascript, такие как angular, react и т. д., предлагают модель одностраничного приложения (SPA), которая работает внутри одной страницы, не требуя перезагрузки браузера при навигации пользователя по сайту (т. е. только с одной страницей-контейнером для всего приложения, например индекс.html). Даже с разделением кода и ленивой загрузкой фрагментов разработчик приложения может гарантировать, что пользователь получит приятный опыт, такой как отображение индикатора выполнения или загрузка счетчика вместо этого (используя React Suspense). Это намного лучше, чем разочаровывающее ожидание перезагрузки страницы каждый раз.
Webpack обеспечивает изменение хеш-функции только для тех чанков, исходный код которых изменился по сравнению с предыдущей сборкой. Это помогает использовать преимущества кэширования браузера, чтобы запросы на получение фрагментов не приходилось каждый раз отправлять на сервер. Надеюсь, это было полезно!