2015-05-08 373 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'中輸出圖層;' 要工作,因爲它是默認值。 –