2016-12-02 9 views
2

ビルド性能を最適化するために私は2つの別々のconfigsを使ってアプリケーションをビルドしています: 最初のバンドルが頻繁に変更されるため、2番目の大きなバンドルのコンテンツは、彼らは異なるバンドルですが、1つの設定になっているため、最初のものだけを再構築するプロセスはまだ遅くなります)。マルチ(config)ビルドからバンドルを含める

configs = [ 
{ 
    entry: {app: './app'}, 
    output: ... 
    plugins: [ 
    new HtmlWebpackPlugin({..}) 
    ] 
}, 
    // this is second rarely changed bundle 
{ 
    entry: {big-bundle: './some/big'}. 
    output: ... 
} 
] 

は一つだけのindex.htmlがあるとして、それは問題では、その名のハッシュに応じて可変にしてもよい場合HtmlWebpackPluginを使用して、HTMLの結果でbig-bundleへの参照を含める方法で、コンフィグの一つに差し込まれていますか?

実際、私はHtmlWebpackPluginによって提供されるイベントフックを使用したソリューションのアイデアをいくつか持っています。しかし、私は他のアドバイスがあるのだろうかと思います。

答えて

0

file-loaderを使用して、require.contextと組み合わせて正しい場所にロードすることを考えましたか?

ファイル名を正規表現に一致させるにはrequire.contextを使用し、ファイルをコピーするにはファイルローダーを使用できます。オプションとして

{ 
    test: /big-bundle.*?\.js$/, 
    loader: 'file!name=<name for index.html>' 
} 
+0

、私はHtmlWebpackPluginについて何を疑問に思う:

const context = require.context('./<the-files-directory>', false, /big- bundle.*?\.js$/); context.keys().forEach(key => context(key)); 

はその後、ローダを持っています – WHITECOLOR

関連する問題