1. ホーム
  2. angular

[解決済み] ファイル 'app/hero.ts' is not a module error in console, where to store interfaces files in directory structure with angular2?

2022-04-26 07:11:16

質問

をやっています。 angular2 チュートリアルはこのアドレスで。 https://angular.io/docs/ts/latest/tutorial/toh-pt3.html を配置しました。 hero インターフェイスを単一のファイルで app フォルダーで、コンソールにこのエラーが表示されます。

app/app.component.ts(2,20): error TS2306: File 'app/hero.ts' is not a module.
[0] app/hero-detail.component.ts(2,20): error TS2306: File 'app/hero.ts' is not a module.

インターフェースファイルをヒーローフォルダに置くと、エラーが消えます。 これはドキュメントに記載されていないのですが、私のインポートに何か問題があるのでしょうか? ?

私のimportディレクティブ(コンポーネントファイルの冒頭)は、両方とも app.components.tshero-detail.component.ts :

import {Component} from 'angular2/core';

import {Hero} from './hero';

を置き換える必要があります。 私のimportディレクティブを import {Hero} from './'; または、単純にヒーローフォルダにコードを配置します。 ?

解決方法は?

コードを書いているエディタ(VS codeやSublime)を再起動してみてください。 再度、コンパイルと実行を行ってください。私も同じことをしましたが、うまくいきました。

この現象は、エディタ外で新しいクラスを追加したり、angular cli の 'ng serve' を実行し続けたりしたときに起こります。実はエディタや'ng serve'コマンドは新しく作成されたファイルを見つけられないことがあります。