我在 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(原文如此!)。在externals
webpack 配置中,react 被排除在 index.js 之外,它的重量约为 35kB(未缩小)。但我收到警告:/
我想知道如何从构建中排除反应并减轻警告。我不会以任何不寻常的方式使用 PropTypes,因此来自https://facebook.github.io/react/warnings/dont-call-proptypes.html的建议不相关。
我只想让用户导入我的组件并假设他们已经在依赖项中做出反应......