我正在使用babel-plugin-import插件导入antd软件包。但是,我收到整个捆绑包已导入的警告。


您正在使用一整套antd,请使用
https://www.npmjs.com/package/babel-plugin-import减少应用程序捆绑
尺寸。


我的jsx的webpack配置如下:

{
    test: /\.jsx$/,
    loader: 'babel-loader',
    exclude: [nodeModulesDir],
    options: {
        cacheDirectory: true,
        plugins: [
            'transform-decorators-legacy',
            'add-module-exports',
            ["import", { "libraryName": "antd", "style": true }],
            ["react-transform", {
                transforms: [
                    {
                        transform: 'react-transform-hmr',
                        imports: ['react'],
                        locals: ['module']
                    }
                ]
            }]
        ],
        presets: ['es2015', 'stage-0', 'react']
    }
},


由于某些原因,整个antd捆绑包都已导入。

最佳答案

我解决了这个问题。我创建了一个包searchtabular-antd。该软件包使用babel transpiler输出javascript。软件包中的以下行引起了该问题:

import { DatePicker, Checkbox, Input, InputNumber } from 'antd';


组件应从lib手动导入,如下所示:

import DatePicker from 'antd/lib/date-picker';


这在使用searchtabular-antd的主应用程序中固定了antd大小。

10-06 02:31