私が取り組んでいるAngular 2プロジェクトのtypescript定義を作成して、エクスポート可能なライブラリにしようとしています。
http リクエストをコンポーネントに返すいくつかのサービス設定があり、すべて次のように非常によく似ています。
public create(user:User) {
return this.http.post(this._apiUrls.create,
JSON.stringify(user), {
headers: this.apiConfig.getApiHeaders()
});
}
次に、コンポーネントから次のように呼び出します。
Session.create(user).subscribe((res:Response) => {
this.user = res.json().user
});
typescript定義ファイルを作成できるように、tsconfigファイルで「宣言」をtrueにするまで、これはすべて正常に機能します。いくつかのサービスで次のエラーが発生し始めます。
error TS4053: Return type of public method from exported class has or is using name 'Observable' from external module "node_modules/rxjs/Observable" but cannot be named.
私は問題をほとんど理解していますが、解決策がわかりません。Observable をサービスにインポートすると、技術的にはそのファイルで使用されていないため、typescript リンターはエラーをスローします。
Angular 1 から来て、これはすべてのアプリでコードを分割するために採用した同様のパラダイムでしたが、Angular 2 ではアプローチを変更する必要があるのでしょうか? 私は他の多くの Angular 2 の例を見てきましたが、それらはすべて同様の方法でそれを行っています。