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

由于我的 CI 基础设施,我需要使用 PhantomJS。

4

1 回答 1

0

您的问题似乎来自“绑定”功能。

如果我没记错的话,PhantomJS < 2.0 不支持本机绑定,因此“未定义不是函数”消息。您可以使用 polyfill 来解决此问题,请参阅:

GitHub 上的问题:https ://github.com/ariya/phantomjs/issues/10522

NPM 上的 Polyfill:https ://www.npmjs.com/package/phantomjs-polyfill

如果您不想使用 NPM,MDN 还提供了一个 polyfill:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill

PhantomJS 2.* 现在似乎也可以正确处理它,但我还没有尝试过。

于 2015-08-03T07:43:39.483 回答