Я использую накопительный пакет для создания своего проекта (AMD/UMD). Существует внешняя зависимость от библиотеки, которая использует такие функции ES, как Map, Symbol, Array.from и т. д., которые не поддерживаются в Internet Explorer. Поскольку библиотека является внешней, похоже, что Babel не транспилирует библиотеку, а это означает, что эти функции никогда не заполняются полифилами.
Есть ли способ сообщить Babel включить эту библиотеку для полифилла через @babel/preset-env?
Конфигурация накопительного пакета у меня выглядит примерно так:
{
// omitted ...
external: [
'vue',
/^@pnp.*/, // uses Map, Symbol, Array.from, ...
],
plugins: [
babel ({
configFile: false,
runtimeHelpers: true,
exclude: /node_modules\/(?!vue-runtime-helpers)/,
extensions: ['.js', '.jsx', '.es6', '.es', '.mjs', '.ts', '.tsx', '.vue'],
presets: [
['@babel/preset-env', {
corejs: 3,
useBuiltIns: 'usage',
ignoreBrowserslistConfig: false,
targets: {
browsers: browserslist, // includes IE11
},
}],
],
}),
]
}
vue
, похоже, работает как внешняя зависимость OOTB, потому что они предоставляют сборку, совместимую с IE, а pnpjs - нет.