我一直无法使react-pdf在我使用'create-react-app'创建的react应用中正常工作。从react-pdf页面上的各种github注释来看,在使用“ create-react-app”创建的React应用程序中设置workerSrc似乎存在问题。
(暂时)解决该问题的一种方法是从 node-modules / build / pdfjs-dist / build 复制 pdf.worker.js 文件strong>文件夹,并将其放在我的react应用程序的公共文件夹中。然后在我的index.js文件中输入以下代码:
import {pdfjs} from 'react-pdf'
window.PDFJS.workerSrc = process.env.PUBLIC_URL + '/pdf.worker.js'
这可以正常工作一个星期,直到我使用npm将新模块安装到应用程序中。现在,我遇到的错误与开始时一样,并且没有任何变化:
index.js:14 Uncaught TypeError: Cannot set property 'workerSrc' of undefined
这些是帮助我缩小错误范围的初始注释: https://github.com/facebook/create-react-app/issues/1574#issuecomment-280436498
https://github.com/wojtekmaj/react-pdf/issues/291
但是现在回来了,我有点不知所措。其他人有没有经历过并且能够解决?任何帮助将不胜感激!
答案 0 :(得分:1)
根据我在文档和论坛中看到的内容,看来您应该更改全局PDFJS对象。
PDFJS.workerSrc,而不是window.workerSrc。
答案 1 :(得分:1)
我设法通过从CDN加载worker来使它正常工作。
import { Document, Page, pdfjs } from 'react-pdf';
pdfjs.GlobalWorkerOptions.workerSrc=//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js