2016-06-25 7 views
1

にJavaScriptライブラリを使用して:私がする必要がどのような https://github.com/serkanyersen/ifvisible.js私は、角2のアプリで、次のライブラリを使用したいと仮定すると、角度の2

私はconfigの私のSystemJSを更新しようとしました:

var map = { 
`'ifvisible.js': 'node_modules/ifvisible.js'` 
} 
var packages = { 
'ifvisible.js': {defaultExtension: 'js', main:'src/ifvisible.min' } 
    }; 

はまた、私のindex.htmlにこれを追加しました:

<script src="node_modules/ifvisible.js/src/ifvisible.min.js"></script> 

、私のコンポーネントで:

import * as ifvisible from 'ifvisible.js'; 

私が手error TS2307: Cannot find module 'ifvisible.js'.

何が問題なのですか?

答えて

0

あなたは角度-CLIを使用する場合は、あなたも同じように、角度-CLI-build.jsにそれを追加する必要があります。これは、あなたのdistフォルダにノードモジュールからファイルをコピーします

'ifvisible/**/*.+(js|js.map|d.ts)' 

+0

angular-cliを使用していません – TheUnreal

2

ノードモジュールからのインポートは、指定されたタイプスクリプト定義のみで行うことができます。幸いにもinvisible.jsには1つしかありません。

あなたは

/// <reference path="../node_modules/ifvisible.js/ifvisible.d.ts"/> 

とも似インポートをインポートしているファイルの先頭に参照を追加し、あなたは次のnode_modulesにフォルダで作業していると仮定すると、

import ifvisible = require('ifvisible'); 

実行時のjavascriptで使用する場合は、このスクリプトをindex.htmlに追加します。

<script src="node_modules/ifvisible.js/src/ifvisible.min.js"></script> 

パブリックフォルダはしかし良い習慣ではないようnode_modulesを提供することに注意してください、私は別々のパブリックフォルダにifvisible.min.jsをコピーすることをお勧めいたします。

+0

これらの行を両方ともcomponent.tsに書き込む必要がありますか?これは私がやったことだから、GET http:// localhost:3000/ifvisible 404(見つからない) ' – TheUnreal

+0

は、angular2のモジュールと実行時に2つの異なるものを使います。上記のようにインポートすると、angle2コンポーネントクラスで使用することができます。実行時に使用する場合は、上記の手順に従ってください。 –

+0

'リソースの読み込みに失敗しました:サーバは404(Not Found)のステータスで応答しました' – TheUnreal

関連する問題