Typescript 1.5模块导入导出错误

时间:2015-05-08 20:31:59

标签: typescript ecmascript-6 typescript1.5

我在打字稿项目

中重新导出时出现问题

我有类Layer,我声明它是这样的:

// Layer.ts  
export default class Layer{//code}

我还有另一个文件可以重新导出所有相关文件

// layers.ts
export Layer from "./Layer";

在编译时,我收到以下错误:

src/layer/layers.ts(1,14): error TS1005: ';' expected.
src/layer/layers.ts(1,19): error TS1005: ';' expected.
src/layer/layers.ts(2,1): error TS1128: Declaration or statement expected.
src/layer/layers.ts(2,24): error TS1005: ';' expected.
src/layer/layers.ts(2,29): error TS1005: ';' expected.

另一个相关错误: 使用export关键字声明接口时,如下所示:

export default interface MyInterface<V>{
    method():V;
}

我再次收到此错误:

MyInterface.ts(1,26): error TS1005: ';' expected.

1 个答案:

答案 0 :(得分:1)

第一部分: export { default as Layer} from './Layer';

对于第二部分,接口不能导出为default,因为接口不会被生成的javascript代码中的任何内容表示。

所以摆脱默认关键字:

export interface MyInterface<V>{
    method():V;
}

使用ES6模块语法导入可能如下所示:

import { MyInterface } from './MyInterface';

class A implements MyInterface<string> {}