PDF js worker与Webpack捆绑了一个散列名称

los*_*t17 7 javascript pdf.js webpack

我需要在Webpack中使用PDF.js,我按照文档告诉你为pdf.worker添加一个条目.

这是我的webpack配置的输入和输出:

entry: {
    index: './src/client/home/home.jsx',
    'pdf.worker': 'pdfjs-dist/build/pdf.worker.entry'
},
output: {
    path: path.join(__dirname, 'build/client'),
    publicPath: '/',
    filename: [name]-[chunkhash].js,
}
Run Code Online (Sandbox Code Playgroud)

仍然根据文档,在javacript代码中,我需要像这样指定worker路径:

pdfjsLib.PDFJS.workerSrc = '/pdf.worker.bundle.js';
Run Code Online (Sandbox Code Playgroud)

问题是我使用chunkhash生成文件,因此无法找到pdf.worker.bundle.js.

我看到两个解决方案:

  1. 仅在webpack中删除worker的哈希值:[name] -bundle.js但是如何告诉webpack只为工作者而不是其他.js文件执行此操作?

  2. 生成代码后更改pdfjsLib.PDFJS.workerSrc的值,我该怎么做?

另外,我是否认为第一个解决方案不好,因为用户总是会缓存同一个工作人员?