2017-05-19 27 views
1

我一直在使用Typescript開發一個Angular應用程序,並且我已經意識到我需要更多地關注編譯(transpilation)方面的tsconfig。tsconfig.json中的「target」屬性實際表示什麼?

目前在源代碼中,我使用了一些es6功能(如Array.prototype.find),而TSLint-er正在將這些功能選爲錯誤。

我正在嘗試重新配置我的tsconfig,以便它允許我使用es6功能,但轉儲到es5。在這樣做的時候,我無法理解「目標」屬性究竟是什麼。 「目標」屬性意味着什麼?

「目標」是否表示期望的轉輸輸出是什麼?或者是否聲明Typescript語法應符合以便進行轉譯?

+0

這是輸出。 – lujcon

+0

閱讀文檔如何? – Milad

回答

2

TypeScript是ES6的超集,所以您基本上使用ES6版本的JavaScript編寫TS代碼。但是,編譯時,由此產生的JS代碼可以在ES5或更早版本中。您需要定義編譯器應該將哪個版本的JS轉換成。這可以使用目標選項設置:

{ 
    "compilerOptions": { 
    "target": "es6" 
    } 
} 

您可以閱讀更多關於配置here

然而,它也用於間接驗證。該參數定義在編譯期間使用哪個libraries。如果您指定target:es5,則它使用不包含Array.prototype.find的ES5庫。您可以手動設置要使用你想要的庫:

{ 
    "compilerOptions": { 
    "lib": ["es6", "dom"], 
    } 
} 

在這種情況下,即使你指定es5target你不會有一個錯誤。

相關問題