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 如何将0.bundle与主bundle(PDFJS)组合的网页包_Webpack_Pdf.js - Fatal编程技术网

Webpack 如何将0.bundle与主bundle(PDFJS)组合的网页包

Webpack 如何将0.bundle与主bundle(PDFJS)组合的网页包,webpack,pdf.js,Webpack,Pdf.js,我将默认的PDFJS库与webpack一起使用,并根据本教程做了一些工作: 我曾尝试使用webpack将所有内容捆绑到一个模块中,但甚至使用以下配置指定了一个入口点 entry: { 'main': './src/main.ts', // 'pdf.worker': 'pdfjs-dist/build/pdf.worker.entry', }, output: { path: path.join(__dirname, 'dist'), filename: '[name].bun

我将默认的PDFJS库与webpack一起使用,并根据本教程做了一些工作:

我曾尝试使用webpack将所有内容捆绑到一个模块中,但甚至使用以下配置指定了一个入口点

entry: {
  'main': './src/main.ts',
  // 'pdf.worker': 'pdfjs-dist/build/pdf.worker.entry',
},
output: {
  path: path.join(__dirname, 'dist'),
  filename: '[name].bundle.js',
}
[...]
webpack在我的
/dist
目录中创建两个js文件

  • 0.bundle.js
  • main.bundle.js
如果我从主代码中删除了“PDFJS dist/web/pdf\u viewer.js”(这是我唯一的重要依赖项)中的
import{PDFJS}行,则不再创建
0.bundle.js
文件,但当然我的代码不再工作

问题

是什么导致webpack将东西捆绑到两个模块中,即使我不想,我又该如何避免呢

注意:保持这种方式不是一个解决方案,因为这是一个我必须在一个平台上解决的问题,在这个平台上,我只能授权一个条目文件(不要问我为什么)


提前感谢。

我发现当代码库太大时,webpack会自动创建块。尽管您可能会记住这一点来优化应用程序,但在
webpack.config.js
文件中添加以下内容是完全可行的,甚至是可以接受的

插件:[
新的webpack.optimize.LimitChunkCountPlugin({maxChunks:1})
],

这将强制将代码捆绑到一个大的
main.bundle.js
文件中

真诚地属于你(自己)


我自己。

我发现当代码库太大时,webpack会自动创建块。尽管您可能会记住这一点来优化应用程序,但在
webpack.config.js
文件中添加以下内容是完全可行的,甚至是可以接受的

插件:[
新的webpack.optimize.LimitChunkCountPlugin({maxChunks:1})
],

这将强制将代码捆绑到一个大的
main.bundle.js
文件中

真诚地属于你(自己)


我自己。

PDF.js有两个部分:用于显示(PDF.js)和用于解析(PDF.worker.js)。显示部件通过Web worker或通过
加载pdf.worker.js。(后者禁用了worker,这可能导致在主线程上运行解析并导致UI锁定/jank)


在网页包上下文中,pdf.js包含在主包中,pdf.worker.js被编译为worker和附加包,以替换脚本标记加载(请参阅)。通过删除后一个捆绑包,您可以杀死pdf.worker.js部分(负责解析)。通过将其添加到主捆绑包中,您将增加主捆绑包的大小,从而增加页面初始加载时间(或增加jank的主线程风险)。

PDF.js有两个部分:用于显示(PDF.js)和用于解析(PDF.worker.js)。显示部件通过Web worker或通过
加载pdf.worker.js。(后者禁用了worker,这可能导致在主线程上运行解析并导致UI锁定/jank)


在网页包上下文中,pdf.js包含在主包中,pdf.worker.js被编译为worker和附加包,以替换脚本标记加载(请参阅)。通过删除后一个包,您可以杀死pdf.worker.js部分(负责解析)。通过将其添加到主捆绑包中,您将增加主捆绑包的大小,从而增加页面初始加载时间(或将主线程置于jank的风险中)。

我有点卡住了,您能否详细说明您的答案。在我的课程代码中,我定义了
pdfjs.GlobalWorkerOptions.workerSrc
,我可以看到Chrome加载了这个文件,但它也加载了0.min.js。我想去掉那个,用前一个作为网络工作者。实际上,通过能够指定要加载的文件的路径,我可以添加一个“rev”来防止缓存。对于0.min.js,我不能,它会导致缓存问题…你能详细说明你的答案吗,因为我有点卡住了。在我的课程代码中,我定义了
pdfjs.GlobalWorkerOptions.workerSrc
,我可以看到Chrome加载了这个文件,但它也加载了0.min.js。我想去掉那个,用前一个作为网络工作者。实际上,通过能够指定要加载的文件的路径,我可以添加一个“rev”来防止缓存。对于0.min.js,我不能这样做,这会导致缓存问题。。。