2016-07-25 162 views
3

在我的webpack版本中,我想從CDN加載React,但而不是 ReactDOM,因爲它需要額外往返一個非常小的文件。使用Webpack包括來自CDN的React,但不包括ReactDOM

我的webpack配置有以下代碼塊聲明「外部」,以便它將而不是生成這些文件(我改爲包含CDN)。

webpack.config.js

... 

externals: { 
    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和應對15.1.0。


更新 我嘗試添加react/lib/ReactDOM到的外部。

... 

externals: { 
    react: 'React', 
    'react/lib/ReactDOM': 'commonjs react-dom' 
}, 

... 

但我得到以下錯誤。

要求沒有定義

+0

但是它表示它[打算包含在React中](https://github.com/facebook/react/tree/master/packages/react-dom),所以當你把React放在CDN上時,你也有ReactDOM包括在內。 – AlexandruB

+0

對,我只想在我的包中包含ReactDOM,而不是包含它的CDN。 – Himmel

+0

我不明白的用例,但我想定義'react-dom',因爲它自己的Webpack條目,並使其[單獨塊](https://github.com/webpack/webpack/tree/master/examples/多公地塊)? – AlexandruB

回答