1

我正在尝试编写一个 TypeScript 应用程序并得出一个结论,即我不喜欢<reference path />三斜杠指令。我发现它更适合使用import 'something'

但是当我尝试替换我的参考路径时,我不断收到模块未知的错误。

这是我的文件夹结构:

/app
    /ViewModels
        ApplicationViewModel.ts
    app.ts

应用视图模型.ts

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

应用程序.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/ApplicationViewModelApplicationVMasl。我什至将它与它结合起来,<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

您需要使用所谓的外部模块

应用视图模型.ts

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

export = ApplicationVM;

应用程序.ts

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