2017-02-12 10 views
1

react-dndと2つのreact-dndバックエンドを持つ1つの非同期コモンズチャンクを作成しようとしています。残りのすべてのノードユーティリティ(何でもnode_modules)を使用します。非同期WebPack CommonsChunkをnpmモジュール全体で作成する

コードは次のとおりです。私のreact-dndバンドルに3つの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モジュールの依存関係を相互に共有することができます。たとえば、react-dndのフル依存ツリーを強制的に1つのバンドルに固執することができます。たとえば、反応ルータのフルツリーを別のバンドルに組み込むと、 。

関連する問題