Разбить html в вебпаке на части?

Да, в Webpack есть возможность разбивать HTML на части, это делается с использованием специального плагина - html-webpack-plugin.

Html-webpack-plugin позволяет генерировать HTML файлы на основе шаблонов и автоматически вставлять в них сгенерированные JS и CSS файлы. Это очень полезно, когда у вас есть несколько точек входа (entry points) и вы хотите сгенерировать отдельные HTML файлы для каждой из них.

Чтобы настроить разбиение HTML на части, вам сначала нужно установить плагин с помощью npm или yarn:

npm install --save-dev html-webpack-plugin

или

yarn add --dev html-webpack-plugin

После установки плагина, вам нужно добавить его в ваш конфигурационный файл Webpack (обычно это webpack.config.js). Пример конфигурации может выглядеть так:

const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: {
    app: './src/app.js',
    admin: './src/admin.js'
  },
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: '[name].bundle.js'
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html',
      chunks: ['app']
    }),
    new HtmlWebpackPlugin({
      template: './src/admin.html',
      filename: 'admin.html',
      chunks: ['admin']
    })
  ]
};

В данном примере мы настроили две точки входа (entry points): app и admin. Для каждой из точек входа, мы создали отдельный HTML файл.

В HtmlWebpackPlugin мы передаем объект с настройками. Основные параметры:

- template: путь к шаблону HTML файла (в данном случае './src/index.html' и './src/admin.html').
- filename: имя сгенерированного HTML файла (в данном случае 'admin.html').
- chunks: какие JS файлы вставить в HTML файл (в данном случае 'app' и 'admin').

После настройки плагина, при запуске сборки с помощью команды webpack или webpack-dev-server, Webpack автоматически сгенерирует HTML файлы на основе указанных шаблонов и подключит соответствующие JS и CSS файлы.

Таким образом, с использованием плагина html-webpack-plugin в Webpack вы можете легко разбить HTML на части для каждой из точек входа и создать отдельные HTML файлы для них. Это облегчит организацию вашего проекта и позволит вам более гибко управлять генерацией HTML страниц.