Может ли тряска дерева Webpack удалить неиспользованные вавилон-полифиллы?
Я пытаюсь сделать так, чтобы дерево упало babel-polyfill
,
index.js
файл содержит:
import 'babel-polyfill'
const add4 = n => n + 4
const add5 = n => n + 5
add4(6)
console.log('boom', add4(4))
В этом файле ни один код не требует какого-либо полизаполнения es2015+, поэтому я ожидал, что встряхивание дерева удалит неиспользуемые babel-polyfills из связанного вывода. Это не тот случай, и пакет все еще содержит их (минимизировано).
Конфигурация веб-пакета:
const MinifyPlugin = require('babel-minify-webpack-plugin')
module.exports = {
entry: './index.js',
output: {
filename: 'bundle-webpack.js'
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}
]
},
plugins: [
new MinifyPlugin({ mangle: { topLevel: true } }, { comments: false })
]
}
а также .babelrc
:
{
"presets": [
[
"env",
{
"targets": {
"browsers": ["chrome >= 50", "iOS >= 10", "ie >= 8"]
},
"useBuiltIns": true,
"modules": false,
"loose": true
}
]
]
}
Я пытался заменить babel-minify-webpack-plugin
с uglifyjs-webpack-plugin
, но это дало тот же результат.
Как сделать так, чтобы шевеление деревьев работало, а выходные данные не содержали babel-polyfills
которые не используются в оригинальном коде?
1 ответ
Теперь я понимаю, что babel-polyfill изменяет глобальную область видимости, где дрожание дерева может не иметь никакого эффекта...
Это был глупый вопрос:)