使用Webpack从CDN包含React,但不包括ReactDOM

时间:2016-07-25 20:48:42

标签: javascript reactjs webpack react-dom

在我的webpack构建中,我想从CDN加载React,但不是 ReactDOM,因为它需要一个非常小的文件的额外往返。

我的webpack配置包含以下代码块,声明“externals”,因此它构建这些文件(我改为包含CDN)。

webpack.config.js

...

externals: {
    react: 'React'
},

...

问题是包括外部的React仍然构建React,因为ReactDOM依赖于它。

node_modules /反应-DOM / index.js

module.exports = require('react/lib/ReactDOM');

'react-dom': 'ReactDOM'添加到外部有效地将它们从捆绑中删除,但我不想包含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'
},

...

但我收到以下错误。

  

要求未定义

1 个答案:

答案 0 :(得分:2)

[不是答案,对评论来说太大了]

请参阅问题https://github.com/facebook/react/issues/5413https://github.com/facebook/react/issues/6128,如果我理解正确的话,它会争论拥有一个反应+ ReactDom的CDN捆绑,这会使你的船浮起来。丹阿布拉莫夫感受到了,所以我很有希望。但请注意,his comment ReactDOM很快就会变得更大。