0

Mozilla のライブラリPDFJSを使用する angular-app を作成しています。残念ながら、アプリケーションの単体テストを実行すると、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 はバインドをネイティブにサポートしていないため、「未定義は関数ではありません」というメッセージが表示されます。ポリフィルを使用してこの問題を解決できます。次を参照してください。

GitHub の問題: https://github.com/ariya/phantomjs/issues/10522

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.* では正しく処理されるようですが、まだ試していません。

于 2015-08-03T07:43:39.483 に答える