Webpack DefinePluginを使用して、異なるレンダリングモードの出力バンドルを生成します。したがって、たとえば、私たちのWebPACKの設定は、コードでWebpack DefinePluginの遅さ。代わりに?
[{
entry: {
mode1: "./input.es6",
},
output: {
path: path.join(__dirname, 'dist'),
filename: "[name]-bundle.js",
},
plugins: [
new webpack.DefinePlugin({
__RENDER_MODE__: 'mode1',
}))
]
},{
entry: {
mode2: "./input.es6",
},
output: {
path: path.join(__dirname, 'dist'),
filename: "[name]-bundle.js",
},
plugins: [
new webpack.DefinePlugin({
__RENDER_MODE__: 'mode2',
}))
]
}]
を返します。私たちは
if (__RENDER_MODE__ === 'mode1') {
require('jquery-ui')
}
if (__RENDER_MODE__ === 'mode2') {
require('other-lib')
}
を行いますこれは、私たちはより多くのレンダリングモードごとに最適化されていバンドルを生成することができます。レンダリングモードが増加するにつれ、複数のWebpackコンパイルが実行され、コンパイルプロセスが大幅に遅くなります。私はこの問題を解決するにはいくつかの考えを持っており、複数の入力を聞きたい:
は、1つのWebPACKのコンパイルを使用すると、コンパイルが完了した後、プラグインの代替を定義します方法はありますか?コンパイル時にDefinePluginに変数を置き換えるのではなく、一度コンパイルした後に置換を行うだけです。
または、エントリDefinePluginを実行する方法はありますか?各エントリには、別々のDefinePlugin設定があります。