2017-07-06 13 views
3

アングル4のアプリケーションがあり、javascriptファイルで作成したjavascriptコンポーネントがあります:timeline.js。 javascriptコンポーネントはうまく動作しますが、私はangle 4で使用したいと思います。したがって、私はjsファイルをassets/js/timeline.jsというフォルダに入れました。ファイルindex.htmlアングル4のアプリケーションで外部javaScriptライブラリを使用する

は、私は私が持っている、<script src="assets/js/timeline.js"></script>ととapp.component.tsの私のjsファイルを呼び出す:

var timeline = new Timeline("timelineVisualization") 

ので、通常は、タイムラインはid="timelineVisualization"を持っているのdiv内に作成されます。

しかし、動作しません。new Timeline:名前のタイムラインが見つかりません。

タイムラインコンストラクタをtimeline.jsから呼び出す方法を知っていますか?

答えて

11

あなたは単にあなたはまた、(ファイルの先頭に)行うことができます

import * as Timeline from '../assets/js/timeline.js'; 

を実行する必要があります。優れた実践のための

declare var Timeline: any; 

チェックもbelowを。

+0

ありがとうございました。これは、 'declare var Timeline:any;'で動作します。 – Adrien

0

この試してみてください:あなたはあなたのライブラリーを見つけることができない場合は、あなた自身をあなたのインターフェイスを書く(としようとすることができる

Definitly Typed Github Page

:あなたはからあなたのタイプの定義を見つけることを試みること

declare const Timeline; 
0

を他の開発者のためにgithubページにリクエストしてください)、このインターフェースは.tsファイルのように動作します。ここで

開始

declare global { 
    interface Window { 
     Timeline: any 
    } 
} 
5

ジャスト@Deblatonジャン=フィリップによりabove答えに拡張し、一般的な良いプラクティスとして、の一部としてあなたのjsや他のCSSファイルを含める方が良いかもしれないですそれらをindex.htmlに入れるのではなくビルドします。

CLIを使用している場合は、次のようにします。

"styles": [ 
    "styles.scss", 
    //Other style files 
    ], 
    "scripts": [ 
    "../node_modules/jsplugin/dist/js/plugin.js", 
    //Other script files 
    ], 
関連する問題