Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 包含来自多(配置)生成的捆绑包_Webpack_Html Webpack Plugin - Fatal编程技术网

Webpack 包含来自多(配置)生成的捆绑包

Webpack 包含来自多(配置)生成的捆绑包,webpack,html-webpack-plugin,Webpack,Html Webpack Plugin,为了优化构建性能,我正在使用两种不同的配置构建应用程序: 第一个bundle的更改频率更高,因此第二个大bundle的内容不会干扰其重建过程(因为如果它们在一个配置中,尽管它们是不同的bundle,但仅重建第一个bundle的过程仍然会减慢) 由于只有一个index.html,它被插入其中一个配置中,问题是如何在生成的html中包含对big bundle的引用,如果它的名称可能根据散列而变化,则使用HtmlWebpackPlugin 实际上,我有一些使用HtmlWebpackPlugin提供的事

为了优化构建性能,我正在使用两种不同的配置构建应用程序: 第一个bundle的更改频率更高,因此第二个大bundle的内容不会干扰其重建过程(因为如果它们在一个配置中,尽管它们是不同的bundle,但仅重建第一个bundle的过程仍然会减慢)

由于只有一个index.html,它被插入其中一个配置中,问题是如何在生成的html中包含对
big bundle
的引用,如果它的名称可能根据散列而变化,则使用HtmlWebpackPlugin


实际上,我有一些使用HtmlWebpackPlugin提供的事件挂钩的解决方案的想法。但是我想知道是否还有其他建议。

您是否考虑过使用文件加载器将其加载到正确的位置,并结合require.context

您可以使用require.context将文件名与正则表达式匹配,并使用文件加载器将文件复制到上

const context = require.context('./<the-files-directory>', false, /big-
bundle.*?\.js$/);
context.keys().forEach(key => context(key));
const context=require.context('./',false,/big-
捆绑。*?\.js$/);
forEach(key=>context(key));
然后有一个加载器:

{
  test: /big-bundle.*?\.js$/,
  loader: 'file!name=<name for index.html>'
}
{
测试:/big bundle.*?\.js$/,
加载器:“文件!名称=”
}
{
  test: /big-bundle.*?\.js$/,
  loader: 'file!name=<name for index.html>'
}