使用'react-pdf'

时间:2018-12-10 05:05:45

标签: reactjs webpack create-react-app react-pdf

我一直无法使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

但是现在回来了,我有点不知所措。其他人有没有经历过并且能够解决?任何帮助将不胜感激!

2 个答案:

答案 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