在 tsconfig.json 中 target 是用来做什么的?

tsconfig.json中的 target代表什么?

{
"compilerOptions":
{
"sourceMap": true,
"target": "es5",
"module": "commonjs",
"jsx": "react",
"moduleResolution": "classic",
"lib": [ "es2015", "dom",  "es2017" ]
}
}
78914 次浏览

我对 Type 脚本很陌生。 tsconfig.json 中的 Target 是什么意思?

例如:

target:es5

()=>null将成为 function(){return null},因为 ES5没有箭头功能。

target:es6

()=>null将成为 ()=>null,因为 ES6具有箭头功能。

更多

我还做了一个快速 关于这个主题的视频

Target 更改要编译到的 JavaScript 版本。

这些选项可以在 https://www.typescriptlang.org/docs/handbook/compiler-options.html上获得

为了更好地理解目标标志如何改变我的代码,我编译了一些测试代码到每个不同的版本,以便更好地理解其中的差异。

Https://github.com/aizatto/typescript-playground/tree/master/dist/test-async-main

我还会根据我所看到的环境记录下我应该瞄准的目标

Https://www.aizatto.com/notes/typescript

如果您的目标是 es2017,那么这是最新版本,其中新增了对共享内存和字符串的库引用。更改目标意味着更改用于编译代码的库。如果希望在支持高版本引用的库的同时保持目标的低版本,可以将所需的库添加到 tsconfig.json中的 "lib"

要了解不同版本中引用的库的更多信息,请参见 这个答案。