2015-08-25 44 views
1

Typescript 1.5增加了對tsconfig.json配置文件的支持,其中可以指定諸如編譯器選項之類的內容。tsc 1.5是否仍然需要--module標誌?

下面是來自blog post announcing 1.5一個妙語:

編譯器現在支持「tsconfig.json」,一個新的文件,它允許你 指定項目中的文件和編譯器設置使用。

這讓我覺得,將--module標誌添加到編譯器將不再是必要的。但是,試圖編譯一個簡單的文件導出一個類,我得到這樣的:

tsctest.ts(1,14): error TS1148: Cannot compile modules unless the '--module' flag is provided. 

當運行tsc--module commonjs一切工作正常。

這裏的TS文件:

//tsctest.ts 
export class Empty { 
} 

而這裏的tsconfig.json

{ 
     "compilerOptions": { 
       "target": "ES5", 
       "module": "commonjs" 
     } 
} 

我的打字稿版本1.5.3是,tsctest.tstsconfig.json住在同一個文件夾中。

回答

1

按照documentation

當輸入文件的命令行上指定,tsconfig.json文件將被忽略。

運行tsc沒有指定任何輸入文件,它會正常工作。

4

打字稿提供兩種方式與模塊 1.內部模塊 2.外部模塊

在旅行時工作的第一個選項通常用於打破跨不同.ts文件一個打字稿模塊(通過它可以使用一個一個.ts文件中的.ts文件在同一模塊中的一個組件,沒有任何顯式的導入語句),第二個選項用於通常從可用的庫中顯式導入模塊。它是您必須爲模塊參數提供TypeScript編譯器的外部模塊。

因此,在您的代碼中,您使用的導出語法是第一個選項(內部模塊),您必須將其代碼放入模塊塊中。

您可以參考documentation

編輯:這個article解決了使用模塊時發生的常見疑問。

相關問題