我正在尝试编写一些TypeScript应用程序,并得出结论我不喜欢<reference path />
语句。我发现更适合使用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','ApplicationVM'asl。我甚至将它与<reference path />
结合起来,但也没有帮助。
答案 0 :(得分:2)
从ApplicationViewModel.ts中删除模块声明(如果使用外部模块,每个文件已经是一个模块):
export class ApplicationViewModel {
constructor(public test:string) {
}
}
然后在你的app.ts
import * as App from './ViewModels/ApplicationViewModel';
var a = new App.ApplicationViewModel('test');
答案 1 :(得分:1)
您需要使用所谓的external modules:
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');