3

我一直无法让 react-pdf 在我使用“create-react-app”创建的 react 应用程序中正常工作。从 react-pdf 页面上的各种 github 评论来看,似乎在使用“create-react-app”创建的 React 应用程序中设置 workerSrc 存在问题。

一种似乎可以解决问题的解决方法(暂时)是从node-modules/build/pdfjs-dist/build文件夹中复制pdf.worker.js文件并将其放在我的 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

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

4

2 回答 2

1

我设法通过从 CDN 加载工作人员来完成这项工作。

import { Document, Page, pdfjs } from 'react-pdf';

pdfjs.GlobalWorkerOptions.workerSrc=//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js
于 2020-06-09T12:52:09.883 回答
1

根据我在文档和论坛中看到的内容,您似乎应该更改全局 PDFJS 对象。

PDFJS.workerSrc,而不是 window.workerSrc。

于 2018-12-10T05:35:29.060 回答