1

<reference path />TypeScript アプリケーションを作成しようとしていますが、トリプル スラッシュ ディレクティブが気に入らないという結論に達しました。import 'something'代わりに使用する方が適していると思います。

しかし、参照パスを置き換えようとすると、モジュールが不明であるというエラーが表示され続けます。

私のフォルダ構造は次のとおりです。

/app
    /ViewModels
        ApplicationViewModel.ts
    app.ts

ApplicationViewModel.ts

module ApplicationVM {
    export class ApplicationViewModel {
        constructor(public test:string) {
        }
    }
}

app.ts

/// <reference path="ViewModels/ApplicationViewModel.ts" />

var a = new ApplicationVM.ApplicationViewModel('test');

これはうまく機能します。次のコードを同様に機能させるにはどうすればよいですか?

import * as App from 'noidea';
var a = new App.ApplicationViewModel('test');

「noidea」については、次を試しました:ViewModels/ApplicationViewModel、 asl ApplicationVM。私もそれを組み合わせました<reference path />が、それも役に立ちませんでした。

4

2 に答える 2

2

ApplicationViewModel.ts からモジュール宣言を削除します (外部モジュールを使用する場合、各ファイルは既にモジュールになっています)。

export class ApplicationViewModel {
    constructor(public test:string) {
    }
}

次に、 app.ts で

import * as App from './ViewModels/ApplicationViewModel';
var a = new App.ApplicationViewModel('test');
于 2016-03-09T14:43:19.303 に答える
1

いわゆる外部モジュールを使用する必要があります。

ApplicationViewModel.ts

module ApplicationVM {
    export class ApplicationViewModel {
        constructor(public test:string) {
        }
    }
}

export = ApplicationVM;

app.ts

import { ApplicationViewModel } from "./ViewModels/ApplicationViewModel"
var a = new ApplicationViewModel('test');
于 2016-03-09T14:44:35.957 に答える