AMD に適した TypeScript アプリケーション スケルトンをまとめようとして、問題が発生しました。現在のパスからドロップダウンして、別のディレクトリにモジュールをインポートすることができないようです。上にあるモジュールをインポートできますが、下にあるとエラーがスローされます。
TypeScript Error: The name ''../core/View'' does not exist in the current scope
これが私の(非常に基本的な)アプリの構造です:
app/
- core/
- View.ts
- views/
- HomeView.ts
- Application.ts
私のApplication.ts
ファイルでは、次のようにモジュールを正常にインポートできます。
import HomeView = module( 'views/HomeView' );
export class Application {
constructor() {
console.log( 'initializing Application' );
}
}
--module AMD フラグを使用すると、正しく出力されるもの
define(["require", "exports", 'views/HomeView'], function(require, exports, __HomeView__) {
var HomeView = __HomeView__;
var Application = (function () {
function Application() {
console.log('initializing Application', HomeView);
}
return Application;
})();
exports.Application = Application;
})
さて、問題は、 BaseClass に飛び込んで、拡張するviews/HomeView.js
ためにインポートしようとしたときです。core/View
import View = module('../core/View');
export class HomeView {
constructor() {
console.log('Hello HomeView!');
}
}
この完全なエラーがスローされます:
TypeScript Error: The name ''../core/View'' does not exist in the current scope
File: test/src/app/views/HomeView.ts
Start: 21, Length: 14
Line: import View = module('../core/View');
---------------------------^^^^^^^^^^^^^^--
これはコンパイラのバグですか、それともモジュールのインポートに関する私の理解が間違っていますか? をインポートできるviews/HomeView
のにできないのはなぜ../core/View
ですか?
どんな助けでも大歓迎です。