在我的webpack构建中,我想从CDN加载React,但不从ReactDOM加载React,因为它需要一个非常小的文件的额外往返。
我的webpack配置包含以下声明“外部文件”的代码块,以便它不会生成这些文件(我改为包含CDN)。
webpack.config.js
...
externals: {
react: 'React'
},
...
问题在于仅将React包含在外部中仍会构建React,因为ReactDOM依赖于它。
node_modules / react-dom / index.js
module.exports = require('react/lib/ReactDOM');
向外部添加
'react-dom': 'ReactDOM'
可以有效地将它们都从 bundle 中删除,但是我不想包含ReactDOM CDN ...如何配置webpack从CDN加载React,但在主包中包含ReactDOM?
注意:我正在使用webpack 2.1.0-beta17和React 15.1.0。
更新
我尝试将
react/lib/ReactDOM
添加到外部。...
externals: {
react: 'React',
'react/lib/ReactDOM': 'commonjs react-dom'
},
...
但是我收到以下错误。
最佳答案
[没有答案,太大而无法评论]
请参阅问题https://github.com/facebook/react/issues/5413,https://github.com/facebook/react/issues/6128,它们争辩说拥有React + ReactDom的CDN bundle 包,如果我理解正确的话,它将使您的船漂浮。 Dan Abramov感到了,所以我充满希望。但是请注意his comment,ReactDOM很快就会变得更大。