我在一个项目中使用pdf.js(版本3.6.172),并试图使用react-pdf(版本6.2.2)。问题是设置workerSrc
,因为每个软件包都试图使用自己的版本,并拒绝使用错误的版本。
要加载pdf.js,我用途:
import * as pdfjsLib from 'pdfjs-dist';
import pdfjsWorker from 'pdfjs-dist/build/pdf.worker.entry';
然后设置workerSrc:
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsWorker;
在使用react-pdf
的组件中,我用途:
import { Document, Page, pdfjs } from 'react-pdf';
import pdfjsWorker from "react-pdf/node_modules/pdfjs-dist/build/pdf.worker.entry";
pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker;
如果我注解react-pdf代码,pdf.js代码可以完美地工作。否则也会发生同样的情况(当我注解pdf.js代码时,react-pdf代码工作正常)。
有没有办法在同一个项目中加载这两个库?
1条答案
按热度按时间v8wbuo2f1#
你可以尝试直接从
pdfjs-dist
依赖项中使用pdfjs,而不是在使用react-pdf的组件中使用react-pdf
,如果运气够好的话,它可能会工作。在失败的情况下,没有明显的解决方案,因为两者都依赖于相同的全局变量,导致彼此覆盖。这就是为什么你评论一个,另一个会起作用。