【发布时间】:2018-12-12 23:29:52
【问题描述】:
我只从 semantic-ui-react 导入一个组件
import { Button as SemanticButton} from 'semantic-ui-react';
但在运行webpack -p 之后,我看到捆绑包中的语义 UI 的所有组件,其大小超过 300KB(没有语义 UI 时约为 30KB)。
我安装了所有最新版本:webpack@4.14.0;语义-ui-react@0.81.3
这是我的 webpack.config.js
module.exports = {
entry: './src/index.js',
resolve: {
modules: [
path.resolve('./'),
'node_modules',
],
extensions: ['*', '.js', '.jsx', '.css', '.less'],
},
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist'),
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
},
},
],
},
externals: {
react: {
root: 'React',
commonjs: 'react',
commonjs2: 'react',
amd: 'React',
},
'react-dom': {
root: 'ReactDOM',
commonjs: 'react-dom',
commonjs2: 'react-dom',
amd: 'ReactDOM',
},
'prop-types': {
root: 'PropTypes',
commonjs: 'prop-types',
commonjs2: 'prop-types',
amd: 'PropTypes',
},
},
};
我做错了吗?如何使用语义 ui-react 使树抖动工作?我不想看到捆绑包中未使用的组件。
【问题讨论】:
-
如果您将
mode: "production"添加到 Webpack 配置以进行生产,SemanticUI 中未使用的组件是否仍然存在? -
是的,因为
webpack -p在生产模式下运行 webpack。我也尝试了mode: "production",但没有成功。
标签: javascript reactjs webpack semantic-ui