Logo

Developer learning path

React

Code splitting в React

Code splitting

93

#description

Code splitting - это процесс разделения кода приложения на более мелкие фрагменты (chunks), которые загружаются динамически по мере необходимости. Это позволяет значительно уменьшить время загрузки страницы, особенно для больших приложений.

В React для реализации code splitting существует несколько подходов:

  • React.lazy - это функция, которая позволяет загружать компоненты по требованию. Она работает с dynamic import и возвращает Promise, который разрешается в React-компонент.

Пример:

                    
const MyComponent = React.lazy(() => import('./MyComponent'))
                  
  • Loadable Components - это библиотека, которая позволяет управлять динамической загрузкой компонентов. В отличие от React.lazy она поддерживает загрузку компонентов с более сложными условиями и имеет больше возможностей для настройки.

Пример:

                    
import Loadable from 'react-loadable';

const MyComponent = Loadable({
  loader: () => import('./MyComponent'),
  loading: () => <div>Loading...</div>,
});
                  
  • Webpack - это популярный инструмент для сборки JavaScript-приложений, который также поддерживает code splitting. В конфигурации Webpack можно указать, какие модули должны быть разбиты на чанки, и какие чанки должны быть загружены динамически.

Пример:

                    
module.exports = {
  entry: {
    main: './src/index.js',
    myComponent: './src/myComponent.js',
  },
  optimization: {
    splitChunks: {
      chunks: 'all',
      minSize: 0,
      name: 'vendor',
    },
  },
};
                  

Кроме того, существует множество других инструментов и библиотек для code splitting, таких как code-split-component, react-router и другие.

March 25, 2023

Если вам не совсем понятен какой-то абзац текста из лекции, просто нажмите на него и сможете задать уточняющие вопросы по нему.

Если же непонятен весь вопрос, то нажмите на кнопки внизу, чтобы получить новый вариант объяснения, практические примеры или критически оценить сам вопрос.