如何将 TypeScript 转译为 ES6?

How do I transpile TypeScript to ES6?

基本上我需要能够在我的 IDE 中编写 TypeScript 代码(这大大简化了开发),将其编译为 ES6 然后应用 babel.js(因为所有浏览器都不会支持大多数 ES6) 以获取生成的 ES5 脚本。

这可能吗?我怎样才能做到这一点?

TypeScript 或多或少是 ES6,语法糖很少。 我建议您编写 Vanilla ES6 而不是 TypeScript,但另一方面,TypeScript 工具值得付出额外的努力来编写 TypeScript 并将其转换为 ES6,然后让 Babel 完成剩下的工作。

这里有一个更方便的选项,如评论中所述,您可以从 TypeScript 1.5 转换为 ES6。

您可以使用 typescript 编写纯 ES6,然后转译为 ES3 或 ES5。由于打字稿是 ES6 加好东西。

将其视为使用 Less 来编写您的 css,您可以在 less 文件中编写纯 CSS,它会编译得很好。

对于 typescript 1.8 语言规范:

TypeScript is a syntactic sugar for JavaScript. TypeScript syntax is a superset of ECMAScript 2015 (ES2015) syntax. Every JavaScript program is also a TypeScript program.

TypeScript syntax includes all features of ECMAScript 2015, including classes and modules, and provides the ability to translate these features into ECMAScript 3 or 5 compliant code.

是的。

您可以将 TypeScript 编译器定位到 ES6。

例如,将此添加到您的命令行参数中:

--target es6

是的,你可以。

添加 --target es2015,或添加 target 到您的 tsconfig.json:

{
  "compilerOptions": {
    "target": "es2015"
  }
}

目标支持的选项是:

  • "ES3"(默认)
  • "ES5"
  • "ES6"/"ES2015"
  • "ES2016"
  • "ES2017"
  • "ESNext"

还有很多配置选项。您可以在这里探索它们: Compiler options

有些选项只允许在 tsconfig.json 中使用,而不能通过命令行开关使用。