Я использую Babel 7.1 вместе с накопительным пакетом (v0.67). Это мой накопительный конфиг:
{
input: 'src/svg.js',
output: {
file: 'dist/myBundle.js',
name: 'myBundle',
sourceMap: true,
format: 'iife'
},
plugins: [
resolve({browser: true}),
commonjs(),
babel({
include: 'src/**',
runtimeHelpers: true,
babelrc: false,
presets: [["@babel/preset-env", {
modules: false,
targets: {
firefox: "63"
},
useBuiltIns: "usage"
}]],
plugins: [["@babel/plugin-transform-runtime", {
corejs: false,
helpers: true,
regenerator: true,
useESModules: true
}]]
})
]
}
Я хочу заполнить старые браузеры. Согласно документам, мне нужно включить babel-polyfill
в мою точку входа, что я и сделал. Теперь в babel должны быть включены только те необходимые заполнения (из-за useBuiltIns: "usage"
). Однако даже при указании новейших браузеров в качестве цели я получаю полную загрузку кода в свой пакет (10000 строк кода).
Что я пробовал:
Я попытался useBuiltIns: "entry"
, который исправляет это для новых браузеров, но это не то, что я хочу (он просто включает все полифилы, которые потенциально необходимы браузеру, независимо от того, используются ли они в действительности код).
изменить порядок размещения плагинов
- не включает
babel-polyfill
import
Я понятия не имею, почему это происходит. Было бы здорово, если бы кто-то мог решить эту проблему. Это сводит меня с ума!
И если кто-то знает в качестве бонуса, почему не генерируется исходная карта, я тоже не против получить ответ на этот вопрос