Я только что перешел на webpack 4 и babel 7 и заметил, что мой пакет значительно увеличился в размерах.
используя анализатор пакетов, я вижу antd, и его зависимости составляют около 1 МБ моего пакета объемом 1.7 МБ.
При связывании в режиме разработки я вижу, что все компоненты antd включены, хотя в моем приложении в настоящий момент импортирована одна кнопка
import { Button } from 'antd';
....
Как я могу загрузить только то, что мне нужно? Вот мои соответствующие конфиги
//webpack.config
{
devtool: false,
mode: 'production',
entry: [
'@babel/polyfill',
'antd/dist/antd.css',
'./js/router',
'./css/test.less',
],
output: {
path: path.resolve(__dirname, './plugins/js'),
filename: 'app.js',
},
plugins: [
new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /en/)
],
module: {
rules: [
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
....
И
//babelrc
{
"presets": [
['@babel/preset-env', {
modules: false,
useBuiltIns: 'entry',
targets: {
chrome:"58", ie: "11"
}
}],
'@babel/preset-react',
],
"plugins": [
'@babel/plugin-proposal-class-properties',
'@babel/plugin-transform-modules-commonjs',
["import", { "libraryName": "antd", "style": "css" }]
]
}