Ответ 1
См. точку входа в качестве корня дерева, которая ссылается на многие другие активы, такие как модули javascript, изображения, шаблоны и т.д. Когда вы определяете более одной точки входа, вы в основном разделяете свои активы на так называемые куски, чтобы не иметь весь свой код и активы в одном пакете.
Я думаю, что вы хотите получить более одного "index.html" для разных приложений, которые также относятся к различным фрагментам ваших активов, которые вы уже определили с вашими точками входа.
Копирование файла index.html или даже создание его со ссылками на эти точки входа не обрабатывается механизмом точки входа - это наоборот. Основной подход для обработки html-страниц - это использовать html-webpack-plugin
, который может не только копировать html файлы, но также иметь обширный механизм для шаблонов. Это особенно полезно, если вы хотите, чтобы ваши пакеты были суффиксными с хэшем пакета, что довольно важно, чтобы избежать проблем с кешированием браузера при обновлении вашего приложения.
Как вы определили шаблон имен как [id].bundle_[chunkhash].js
, вы больше не можете ссылаться на свой пакет javascript как main.bundle.js
, поскольку он будет называться как-то вроде main.bundle_73efb6da.js
.
Посмотрите html-webpack-plugin. Особенно важно для вашего случая использования:
Вероятно, у вас должно быть что-то подобное (предупреждение: не проверено)
plugins: [
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'src/index.html',
chunks: ['main']
}),
new HtmlWebpackPlugin({
filename: 'example.html',
template: 'src/example.html',
chunks: ['exampleEntry']
})
]
Обратите внимание, чтобы указать имя точки входа в массиве chunks, поэтому в вашем примере это должно быть exampleEntry
. Вероятно, это также хорошая идея переместить ваши шаблоны в определенную папку вместо их непосредственно внутри корневой папки src.
Надеюсь, что это поможет.