Angular 如何设置PDF工作程序的自定义路径

Angular 如何设置PDF工作程序的自定义路径,angular,typescript,pdf,angular-components,Angular,Typescript,Pdf,Angular Components,我正在Angular 7项目中使用PDF Viewer组件,但正如文档中详细解释的: 默认情况下,工作进程是从cdnjs.cloudflare.com加载的 所以,我要做的是从我的项目中的本地路径加载worker。但在文档的一节中,并没有详细说明如何做到这一点 我试过的 我用npm下载了安装pdfjs dist,还发现了一个pdf.worker.min.js文件,它位于我项目的共享文件夹中 因此,在我的main-area.component.ts中: 当页面打开时,我可以在浏览器的“网络”选项卡

我正在Angular 7项目中使用PDF Viewer组件,但正如文档中详细解释的:

默认情况下,工作进程是从cdnjs.cloudflare.com加载的

所以,我要做的是从我的项目中的本地路径加载worker。但在文档的一节中,并没有详细说明如何做到这一点

我试过的 我用npm下载了安装pdfjs dist,还发现了一个pdf.worker.min.js文件,它位于我项目的共享文件夹中

因此,在我的main-area.component.ts中:

当页面打开时,我可以在浏览器的“网络”选项卡中看到找到了本地文件。但在控制台选项卡上显示:警告:设置假工作者。 有人可以指导我如何成功地设置工人吗?提前谢谢

Github项目页面上的以下主题也讨论了如何为PDF工作程序设置自定义路径的主题:

worker文件pdf.worker.js或缩小版pdf.worker.min.js可在node_模块项目的文件夹中找到:node_模块/pdfjs dist/build/。 pdfjs dist是ng2 pdf viewer的一个依赖项,它将与此库一起安装

建议的解决办法是:

在angular.json文件的资产部分中提供pdf.worker.min.js作为angular资产:

"architect": {
   "build": {
     "options": {
       "assets": [
         "src/assets",
         {
             "glob": "pdf.worker.min.js",
             "input": "node_modules/pdfjs-dist/build/",
             "output": "/assets/pdfjs/"
         }
     ],
     ...
如自述文件中所述,在pdf组件构造函数中使用以下内容:

public constructor() {
  (window as any).pdfWorkerSrc = '/assets/pdfjs/pdf.worker.min.js';
}

我没有尝试过,但这似乎是解决方案:可能也有帮助:
public constructor() {
  (window as any).pdfWorkerSrc = '/assets/pdfjs/pdf.worker.min.js';
}