我正在使用带有 ES6 模块语法的 TypeScript 1.6。
我的文件是:
测试.ts:
module App {
export class SomeClass {
getName(): string {
return 'name';
}
}
}
main.ts:
import App from './test';
var a = new App.SomeClass();
当我尝试编译 main.ts
文件时,我收到此错误:
错误 TS2306:文件“test.ts”不是模块。
我怎样才能做到这一点?
原文由 Bazinga 发布,翻译遵循 CC BY-SA 4.0 许可协议
扩展- 根据一些评论提供更多细节
错误
来自这里描述的事实 http://exploringjs.com/es6/ch_modules.html
import * as app1 from “./test”; import app2 = require(“./test”); import {App} from “./test”;
var a1: app1.App.SomeClass = new app1.App.SomeClass(); var a2: app1.App.OtherClass = new app1.App.OtherClass();
var b1: app2.App.SomeClass = new app2.App.SomeClass(); var b2: app2.App.OtherClass = new app2.App.OtherClass();
var c1: App.SomeClass = new App.SomeClass(); var c2: App.OtherClass = new App.OtherClass();
console.log(a1.getName()) console.log(a2.getName()) console.log(b1.getName()) console.log(b2.getName()) console.log(c1.getName()) console.log(c2.getName())
export class SomeClass { getName(): string { return ‘name’; } }
import App = require(‘./test’);
var sc: App.SomeClass = new App.SomeClass();
sc.getName();
”`
在这里阅读更多:
可选模块加载和其他高级加载场景