1

我在 github 上托管了 react 组件,它是一个简单的包装器<table>,功能很少。我使用 webpack 来构建我的项目。这是继承后的 webpack 配置react-create-app

module.exports = {
    bail: true,
    devtool: 'source-map',
    entry: {
        index: paths.appIndexJs
    },
    externals : {
        react: 'react'
    },
    output: {
        path: paths.appBuild,
        filename: 'index.js',
        publicPath: publicPath,
        library: "ReactSimpleTable",
        libraryTarget: "umd"
    },
    resolve: {
        fallback: paths.nodePaths,
        extensions: ['.js', '.json', '.jsx', '']
    },
    module: {
        preLoaders: [
            ... preloaders ...
        ],
        loaders: [
            ... loaders ...
        ]
    },
    plugins: [
        new webpack.DefinePlugin(env),
        new webpack.optimize.OccurrenceOrderPlugin(),
        new webpack.optimize.DedupePlugin(),
        new ExtractTextPlugin('static/css/[name].[contenthash:8].css'),
    ],
    node: {
        fs: 'empty',
        net: 'empty',
        tls: 'empty'
    }
};

现在,当我在另一个项目中使用我的组件(作为来自 github 的外部包)时,我收到了与该问题相关的警告:https ://facebook.github.io/react/warnings/dont-call-proptypes.html 。

如果我externals从 webpack 配置中删除一切正常,但我的输出文件大约为 130kB(原文如此!)。在externalswebpack 配置中,react 被排除在 index.js 之外,它的重量约为 35kB(未缩小)。但我收到警告:/

我想知道如何从构建中排除反应并减轻警告。我不会以任何不寻常的方式使用 PropTypes,因此来自https://facebook.github.io/react/warnings/dont-call-proptypes.html的建议不相关。

我只想让用户导入我的组件并假设他们已经在依赖项中做出反应......

4

0 回答 0