2017-07-13 14 views
1

私のタイトルは少し不明かもしれないので、簡単な作業で問題を説明しようとします。Angular 4で外部jsファイルをインポートし、関数と変数にアクセス

は、私は、以下のJavaScriptファイル "file.js" を考えてみましょう:

var number = 4; 

function encode(){ 
    console.log("encode in "file.js" has been called..."); 
} 

私は "SRC /資産/のJS/file.js" で私のangular4プロジェクトでこのスクリプトを配置します。

は「.angular-cli.json」で、私は、スクリプトのパスを追加し

"scripts": [ 
    "../node_modules/jquery/dist/jquery.min.js", 
    "./assets/js/modernizr.js", 
    "./assets/js/webflow.js", 
    "./assets/js/file.js" 

今、私の質問は、インポートしたり、私のapp.module.tsでこのスクリプトファイルやその他のコンポーネントを使用する方法であります、

をindex.htmlをするためにそれを追加することなく、私はいくつかの方法を試してみました:

import * as test from 'assets/js/file.js'; 
import {test} from 'assets/js/file.js'; 
declare var file: any; 

は残念ながら、どれも働いていない...

あなたが私を助けてくれたら、本当に感謝しています。

答えて

1

system.jsを実行時に以下のようにインポートするには、node_modulesにsystemjsを追加する必要があります。

System.import("src/assets/js/file.js").then(fileInstance => { 
     console.log(fileInstance); 
}); 
0

あなたが使用する関数の名前を宣言する必要があります。

declare let encode:any 

ngOnInit(){ 
    encode() 
} 
関連する問題