2017-02-12 65 views
1

我試圖用react-dnd和兩個react-dnd後端創建一個異步公用塊,第二個包含所有其餘節點實用程序(任何內容在node_modules)。使用整個npm模塊創建異步WebPack CommonsChunk

代碼如下。我的react-dnd捆綁包確實有三個npm實用程序,但這就是它的全部。它不具有那些公用事業依賴,就像dnd-core的事情,等這些依賴於包羅萬象的捆綁,all-node

什麼是最簡單的方式來實現我在尋找什麼呢?

new webpack.optimize.CommonsChunkPlugin({ 
    filename: 'all-node.js', 
    async: 'all-node', 
    minChunks(module, count) { 
     var context = module.context; 
     return context && context.indexOf('node_modules') >= 0; 
    }, 
}), 

new webpack.optimize.CommonsChunkPlugin({ 
    chunks: ['react-dnd'], 
    filename: 'react-dnd.js', 
    async: 'react-dnd', 
    children: true, 
    minChunks(module, count) { 
     var context = module.context; 
     var targets = ['react-dnd', 'react-dnd-html5-backend', 'react-dnd-touch-backend'] 
     return count > 1 || (context && context.indexOf('node_modules') >= 0 && targets.find(t => new RegExp('\\\\' + t + '\\\\', 'i').test(context))); 
    }, 
}), 

回答

0

我意識到現在這是一個根本不好的主意。 npm模塊的依賴關係可以在彼此之間共享,所以強行堅持,比如說,將dnd的完全依賴樹反應爲一個包,比如說,在另一個包中反應路由器的完整樹,將導致它們的樹之間的聯合重複。