У меня есть кросс-браузерное расширение (в настоящее время оно работает на Chrome и Firefox), построено с использованием машинописного текста и скомпилировано с веб-пакетом.Я хотел использовать расщепление кода, чтобы уменьшить размер пакета.Однако, когда я включаю разделение кода в конфигурации веб-пакета, расширение не работает.В фоновом скрипте есть слушатель browserAction, который откроет страницу входа, если нет пользователя.Или, если пользователь вошел в систему, появится всплывающее окно.Однако нажатие на значок действия браузера ничего не делает.Никаких сообщений об ошибках не будет отображаться в фоновом скрипте.Окно входа или всплывающее окно не будут отображаться.
Вот часть конфигурации, с которой у меня проблема.Когда я комментирую эту часть и не делю код, все работает нормально.
module.exports = {
mode: 'development',
entry: {
login: path.join(__dirname, './src/js/login.ts'),
popup: path.join(__dirname, './src/js/popup.ts'),
options: path.join(__dirname, './src/js/options.ts'),
background: path.join(__dirname, './src/js/background.ts'),
},
output: {
path: path.join(__dirname, './dist'),
filename: 'js/[name].js'
},
// When I remove this part extension is working
optimization: {
splitChunks: {
name: 'vendor',
chunks: "initial"
}
},
module: {
...
Есть идеи, почему это происходит и как я могу заставить это работать?В полученном чанке поставщика в основном присутствуют зависимости node_modules (firebase, ramda и т. Д.), Используемые несколькими точками входа расширения.
Спасибо за помощь.