2015-05-08 112 views
0

我有一个问题,我打字稿项目再出口打字稿1.5模块导入导出错误

我上课层和我这样声明:

// 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 default interface MyInterface<V>{ 
    method():V; 
} 

我得到一次这样的错误:

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

回答

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> {} 
+0

谢谢,这应该被记录在案...... 难道这ecma6脚本规格或ts选择? 我会期望从'./Layer'中输出图层;' 要工作,因为它是默认值。 –