TypeScript 2 で記述された angular 2 プロジェクトに取り組んでおり、現在、インポート メカニズムの問題に直面しています。
私のプロジェクトのすべてのサブフォルダーには、そのフォルダーに含まれるクラスをエクスポートする「index.ts」ファイルが含まれています。
だから、私の「アプリ」ディレクトリには、
- app.component.ts
- app.module.ts
- app.routes.ts
そして、以下を含む index.ts ファイル:
export * from './app.component';
export * from './app.module';
export * from './app.routes';
私の問題は、この同じディレクトリにあるファイルからエクスポートされたクラスをインポートできないことです。
たとえば、私の app.module.ts では、アプリ コンポーネントをインポートしたいと考えています。私が行った場合 :
import { AppComponent } from './app.component';
すべて正常に動作します! コンパイル時および実行時にエラーはありません。人生はクール、人生は美しい。
しかし、私は次のことができません:
import { AppComponent } from '.'; // or './', or even './index'
IDE (Visual Studio) は実際にインポートを正しく解決します (エラーなしでコンパイルされます)。Intellisence からオートコンプリートも取得します...
しかし、実行時にこのエラーが発生します:
Error: Unexpected value 'undefined' imported by the module 'AppModule'
そして、私はその理由を知りません。
注 : サブフォルダーの index.ts からインポートしてもエラーは発生しません (たとえば、インデックスもある './core' からインポートできます)。
前もって感謝します :)