Вы можете сделать это на нескольких страницах, сконфигурировать запись и записи модулей
const appConfig = {
entry: {
background: './src/browser/chrome/background/index.js',
panel: './src/browser/chrome/panel/index.js',
popup: './src/browser/chrome/popup/index.js',
devtools: './src/browser/chrome/devtools/index.js',
},
port: 3002,
entries: {
background: {
title: 'background',
template: './src/browser/chrome/background/index.html',
chunks: ['background','vendors'],
},
popup: {
title: 'background',
template: './src/browser/chrome/popup/index.html',
chunks: ['popup','vendors'],
},
},
};
Затем сконфигурировать html-webpack-plugin
let plugins = []
_.each(appConfig.entries, (entryInfo, entryName) => {
plugins.push(new HtmlWebpackPlugin({
title: entryInfo.title,
template: entryInfo.template,
chunks: entryInfo.chunks,
chunksSortMode: 'manual',
inject: 'body',
favicon: entryInfo.favicon,
resources: entryInfo.resources
}));
});
Затем сконфигурировать модуль и запись
let entry = _.reduce(appConfig.entry, (entries, entry, entryName) => {
entries[entryName] = entry;
return entries;
}, {});
module.export = {
entry,
plugins,
}
Готово !!!