Реагировать на ошибки приложения, при использовании "response-pdf"
У меня возникли проблемы с корректной работой pdf-файла в моем приложении-реактиве, которое я создал с помощью команды "create-реагировать-приложение". Из различных комментариев на GitHub на странице response-pdf видно, что существует проблема с настройкой workerSrc в приложениях React, которые были созданы с помощью create-реагировать-app.
Одна из работ, которая, казалось, решила проблему (временно), состояла в том, чтобы скопировать файл pdf.worker.js из папки node-modules/build/pdfjs-dist/build и поместить его в публичную папку моего приложения реагирования. Затем в моем файле 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
https://github.com/wojtekmaj/react-pdf/issues/291
но теперь, когда он вернулся, я как бы в растерянности идей. Кто-нибудь еще испытал это и смог решить? Любая помощь будет принята с благодарностью!
1 ответ
Исходя из того, что я видел в документах и на форумах, кажется, что вы должны изменить глобальный объект PDFJS.
PDFJS.workerSrc, а не window.workerSrc.
Мне удалось заставить это работать, загрузив воркера из CDN.
import { Document, Page, pdfjs } from 'react-pdf';
pdfjs.GlobalWorkerOptions.workerSrc=//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js