1
でcommonchunksplugin: 簡略化された場合は、次のとおりです。 私は4つのモジュールがあります。のWebPACK:私は今のところ、非常に特殊な方法で分割する必要があり、従来のアプリケーションで作業webworkerと複数のチャンク
//moduleA.js
export const moduleA = ['moduleA'];
//moduleB.js
import {moduleA} from './moduleA';
export const moduleB = ['moduleB'].concat(moduleA);
//moduleC.js
import {moduleA} from './moduleA';
import {moduleB} from './moduleB';
export const moduleC = ['moduleC'].concat(moduleA).concat(moduleB);
//webworkerModule.js
import {moduleB} from './moduleB';
import {moduleA} from './moduleA';
console.log("Webworker Module", moduleA, moduleB);
を
manifest.js
のみ番目含まWebPACKのmoduleA.js
の共通ランタイムが含まれています。私が行う必要がある何は、5つのファイルの出力を持つことですモジュールAおよびモジュールBのコードとWebPACKのランタイム
が含まmoduleC
webworkerModule.js
のコードのみが含まmoduleBmoduleC.js
のコードのみが含まmoduleAmoduleB.js
のEコード私は複数の設定を試みましたが、私が望むものを得ることができません。 const path = require('path');
const webpack = require('webpack');
const config = {
entry:{
moduleA:'./src/moduleA.js',
moduleB:'./src/moduleB.js',
moduleC:'./src/moduleC.js',
webworkerModule:'./src/webworkerModule.js',
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js'
},
resolve: {
extensions: ['.js']
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: 'webworkerModule',
chunks: ['webworkerModule'],
minChunks: Infinity
}),
new webpack.optimize.CommonsChunkPlugin({
name: ['moduleA', 'moduleB', 'manifest'],
chunks: ['moduleA', 'moduleB', 'moduleC'],
minChunks: Infinity
})
]
};
module.exports = config;
例えば上記のような構成は、正しいwebworkerModule.jsを生成するが、moduleAとmoduleBは、他のすべてのファイルに複製されます。
誰かにこれについての洞察はありますか?
[this](https://github.com/webpack/webpack/tree/master/examples/move-to-parent)がお手伝いします。 – wuxiandiejia
ありがとう、それは私が解決策を見つけるのを助けた – Molochdaa