2016-12-17 11 views
0

活字する新しいイムとイムと滑らかな-カルーセルを使用して私はスリックカルーセルを使用することの必要性で、現在午前シンプルな画像スライダーを作成します。..モジュール/パッケージはtypescriptですどのように働くかの概念にハングアップを取得しようと</p> <p>をtypescriptです

しかし..私はjqueryをインストールすることができました..しかし、私はかなりtypescriptでうまくいく方法を取得しません。

これまでのところ、私はパッケージをインストールするのにnpmの入力を使いました。

だから私はちょうどtypings install slick-carouselを走った...と定義ファイルがうまく現れた.. しかし..定義ファイルが何の宣言インターフェイスのみが含まれていません。.. だから私は、ファイルに実際に「輸入」スリックカルーセルCANT

import * as $ from 'jquery'; 

class Splash { 
    init() { 
     $.slick(); 
    } 
} 
:私はそれを使用する必要がどこ私はこれを行う場合..しかし

...(私は間違っているかもしれない)ので、私は、パッケージが、なぜいくつかの中で、既存のjqueryの輸入を拡大することになっていることを推測します

解決するカント

$.slick(); 
..

..だからどのようにあなたの「輸入」だけjqueryのような既存のパッケージを拡張パッケージ?

ありがとうございます!

答えて

1

AMDモジュールローダー(例:RequireJS)を使用すると、すべての外部モジュールとその依存関係がロードされた後にのみコードが実行されます。 (後app.tsからコンパイル)

index.htmlを

<head> 
    <title>jQuery++Slick+RequireJS Sample Page</title> 
    <script data-main="app" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.2/require.js"></script> 
</head> 

<body> 
    <h1>jQuery++Slick+RequireJS Sample Page</h1> 
    <p>Look at source or inspect the DOM to see how it works.</p> 
</body> 

</html> 

app.js

requirejs.config({ 
    baseUrl: ".", 
    paths: { 
     "jquery": "https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js" 
     "slick": "https://cdn.jsdelivr.net/jquery.slick/1.6.0/slick.min.js" 
    }, 
    shim: { 
     'jquery': { 
      exports: '$' 
     } 
     'slick': { 
      deps: ['jquery'], 
      exports: '$.fn.slick' 
     } 
    } 
}); 

requirejs(["jquery", "slick"], function($) { 

    // Code within this function will only execute 
    // once jQuery and Slick have been loaded. 
    // 
    // The configuration above ensures jQuery will always 
    // be loaded before slick. 

    $.slick(); 

}); 
:ここ

shim configRequireJSを用いた例であります

の全セクションはhow to use with jQuery

+0

なぜ標準タイプのインポートよりもrequire.jsが好きですか?技術的な観点からは、互換性レベルをES5に設定した場合、import文はrequire.jsインポートにコンパイルされます。 –

+1

私の例は、依存関係を使用する前に依存関係を確実にロードする方法を示すことを目的としていました。 'module'フラグを 'amd'に設定してコンパイルすると、TypeScriptがAMDモジュール(require.jsはAMDモジュールローダ)にコンパイルされるという点で正しいです。 ES6からは、(モジュールローダのタイプなしで)モジュールをネイティブにロードすることができます。その時点で、ネイティブモジュールのロード機能を使用します。 require.jsのほうがモジュールローダーを使用する方がブラウザの利用範囲が広がります。うまくいけば、それはあなたの質問に答えますか? –

関連する問題