打字稿:导入模块,导致新模块?

时间:2015-07-07 11:18:21

标签: javascript typescript

实际上我有两个打字稿文件:

app.ts:

import * as angular from "angular2/angular2";
angular.bootstrap(Hello);

和Hello.ts

import * as angular from "angular2/angular2";

@angular.Component({
     selector: "hello"
})
@angular.View({templateUrl: "hello.html"})
class Hello{


}

很快,我在hello.ts中使用了import-statement,在app.ts中Hello类未知,所以我不得不导入Hello:

import {Hello} from "Hello";

有人知道解决方法吗?我认为导入每个使用import语句的Class-File非常烦人

Ceddy

1 个答案:

答案 0 :(得分:1)

如果您想使用ES6 / CommonJS / AMD导入,您将需要在任何地方进行导入,并且您需要在任何需要的地方导入依赖项。

您的app.ts应如下所示:

import * as angular from "angular2/angular2";
import Hello from './Hello';

angular.bootstrap(Hello);

你的hello.ts应该是这样的:

import * as angular from "angular2/angular2";

@angular.Component({
     selector: "hello"
})
@angular.View({templateUrl: "hello.html"})
export default class Hello {


}

export default告诉TypeScript Hello类是默认导出,因此您无需执行import {Hello} from './Hello'