我在github上有反应组件,它是<table>
的简单包装,功能很少。我使用webpack来构建我的项目。这是在react-create-app
之后继承的webpack配置:
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。
如果我从webpack配置中删除externals
一切正常,但我的输出文件大约是130kB(原文如此!)。在webpack配置中externals
,反应被排除在index.js之外,它的权重约为35kB(非缩小)。但是我得到了警告:/
我想知道如何从构建中排除反应并减轻警告。我不会以任何不寻常的方式使用PropTypes,因此来自https://facebook.github.io/react/warnings/dont-call-proptypes.html的建议无关紧要。
我只是想让用户导入我的组件并假设他们已经在依赖项中做出反应......