PhantomJS не может использовать PDFJS

0

Я пишу угловое приложение, которое использует библиотеку Mozilla PDFJS. К сожалению, при выполнении модульных тестов приложения кажется, что PhantomJS не может найти части PDFJS-lib.

Вот сообщение об ошибке:

PhantomJS 1.9.8 (Linux 0.0.0) ERROR
TypeError: 'undefined' is not a function (near '...}.bind(this), REJECTION_TI...')
at /home/[...]/bower_components/pdfjs-dist/build/pdf.js:1222

Мне нужно использовать PhantomJS из-за моей инфраструктуры CI.

Теги:
unit-testing
phantomjs
pdfjs

1 ответ

0

Ваша проблема, похоже, исходит от функции bind.

Если я правильно помню, PhantomJS <2.0 не поддерживает связывание изначально, поэтому сообщение undefined is not a function. Вы можете использовать polyfill для решения этой проблемы, см.

Проблема с GitHub: https://github.com/ariya/phantomjs/issues/10522

Polyfill на NPM: https://www.npmjs.com/package/phantomjs-polyfill

Если вы не хотите использовать NPM, в MDN есть также полиполк: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill

Также кажется, что PhantomJS 2. * теперь обрабатывает его правильно, но я не пробовал.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню