2016-10-13 6 views
0

私はこのライブラリをJanusという名前で使用しています。janus-gatewayのjavascriptはどうやってプロジェクトで使用できますか?Angular2 - Angular2でカスタマイズしたlibを使いこなすために

はこれまでにしようとしました:

2 var $ = require('jquery'); 
    3 var Janus = require('../../vendor/janus'); 

ヤヌスはjqueryの依存です。 Jqueryは動作するようですが、Janusではありません。 janus.jsのペーストビン:http://pastebin.com/MdUxTbDU

私はtypescriptでAngular2を使用しています。生産

エラー:

jQuery.Deferred exception: Janus.init is not a function TypeError: Janus.init is not a function 
    at HTMLDocument.<anonymous> (http://localhost:3000/main.bundle.js:372:20) 
    at mightThrow (http://localhost:3000/vendor.bundle.js:47178:30) 
    at process (http://localhost:3000/vendor.bundle.js:47246:13) 
    at ZoneDelegate.invokeTask (http://localhost:3000/polyfills.bundle.js:14544:38) 
    at Zone.runTask (http://localhost:3000/polyfills.bundle.js:14444:48) 
    at ZoneTask.invoke (http://localhost:3000/polyfills.bundle.js:14612:34) undefined 
zone.js:140 Uncaught TypeError: Janus.init is not a function 

答えて

1

はちょうどあなたのindex.htmlファイルにして、角度の2コンポーネント内のライブラリのためのJavaScriptファイル(複数可)を含めることが最上部に次のステートメントを使用して宣言します。

declare var Janus: any;

次に、あなたのコンポーネントでJanus.[anything]の使用を開始。

このようなサードパーティライブラリを使用することができます。

+0

パフォーマンスには影響しませんか? webpackのようなもの? – IvRRimUm

+0

あなたのインデックスファイルに何百ものライブラリが含まれておらず、ライブラリの縮小バージョンを使用している限り、パフォーマンスには影響しません。この方法でいくつかのライブラリを使用する必要がある場合は、それらを1つのファイルにまとめてから、それをミニディスクで実行してから、インデックスファイルに1つのミニファイルjsファイルを組み込むことをお勧めします。 –

+0

また、私は私のコントローラとjanusでjqueryを使用する必要があります(Janusもjqueryをロードします)。どのようにしてそれが2回jqueyを2回ロードしないことを確認するでしょうか? – IvRRimUm

関連する問題