2016-12-05 6 views
1

私はaurelia/aurelia-cliでtypescriptを使用しています。私はNPM chart.jsをインストールして、私のaurelia.jsonファイルにそれを追加しました:Aurelia CLIはchart.jsをインポートできませんTypeScript

typings install dt~chart.js --global --save 

今、私は私のコンポーネント

のうちの1つに、それをインポートしようとしている:私もタイピングを走ってきました

"dependencies": [ 
     ... 
     { 
     "name": "chartjs", 
     "path": "../node_modules/chart.js/dist", 
     "main": "Chart" 
     }, 
] 

import * as Chart from 'chartjs' 

しかし、私はエラーを取得する:

Cannot find module 'chartjs'. 

私も試してみた:

... from 'chart' 
... from 'Chart' 
... from 'Chart.js' 
... from 'chartjs' 
import * as chart ... 
import * as chartjs ... 

答えて

1

私はそれが私のインポートとaurelia.jsonファイルを変更して動作させることができました。 aurelia.json

{ 
    "name": "chartjs", 
    "path": "../node_modules/chart.js/dist/Chart.min" 
}, 

import文

import 'chartjs'; 
0

は、私たちは、ワークショップのための私達のデモのアプリのいずれかでそれを使用するようChart.jsはアウレリアで動作します知っています。デモアプリケーションでは、import Chart from 'chartjs';のようにインポートされますが、それはTypeScriptではなくES2015です。

また、構成がaurelia.jsonで次のようになります。

 { 
     "name": "chartjs", 
     "path": "../node_modules/chart.js/Chart.min", 
     "exports": "Chart" 
     } 
+0

はchartjsのv1またはv2のを使用して君たちはありますか? – Rodrigo

+0

私は2.4.0のように見えます –

+0

なぜ輸出財産が必要なのですか?私はそれがグローバルスクリプトを使用するレガシーライブラリのためだと思った。 – Rodrigo

1

あなたは空のモジュールを宣言しようとしたことがありますか?例えばindex.d.tsのような宣言ファイルに、追加します。

declare module "chart.js"; 

私は、これはサードパーティのライブラリをインポートするための良い出発点である見つけます。さらに詳しい情報はここにあります:https://www.typescriptlang.org/docs/handbook/modules.html#working-with-other-javascript-libraries

エラーがなく、プレーンjs chart.js関数を使用できる場合は、ライブラリが含まれていますが、型はありません。あなたは活字体2.0を使用している場合は

はまた、私はあなたがこのようなタイプをインストールする必要があると思う:

npm install --save @types/chartjs 
+0

index.d.tsファイルの内容をすべて削除し、 'declare module" chart.js ";"を追加すると、エラーが消えてしまいます。図書館が含まれており、種類がないということは何を意味しますか? – Rodrigo

+0

そのようなモジュールを宣言すると、モジュールからのすべてのインポートはすべての型を持ちます。あなたはもはや型チェックがありませんが、モジュールを正しくロードしていれば、jsを使うことができます。モジュールがロードされておらず、そのモジュールを使用しようとすると、ランタイムエラーが発生します。 jsライブラリは常に型定義を持っているとは限らないので、typedefなしでプレーンjsライブラリを使うことができます。 – shusson

+0

このようなモジュールを宣言すると、ビジュアルスタジオのエラーはなくなりますが、アプリケーションがコンパイルしようとすると、 'chart.js'が見つからないというエラーがスローされ、プログラムがクラッシュします – Rodrigo

関連する問題