如何为打字稿编译器 (tsc) 设置默认目标 es 版本?
How can I set the default target es version for the typescript compiler (tsc)?
过去 24 小时我花了很多时间学习:
- Visual Studio 代码如何工作
- TypeScript 的工作原理
- TypeScript 编译器 (
tsc
) 的工作原理
- 这三个软件如何组合在一起
不到一天 (!) 我终于成功地编写了一些基本的 TypeScript 并将其编译为 Javascript。
当我发现 TypeScript 编译器 (tsc
) 不仅编译了静态类型标签,而且还 transpiled 时,我的狂喜有点减弱:
const
进入:
var
我说沉默,但实际上我有点害怕。
然后我发现 tsc
的默认转译目标是 ECMAScript 3.
事实证明,我可以通过使用 --target
标志调用 tsc
来保持我的 const
声明不变:
tsc my-first-typescript.ts --target es6
不过。我真的不想每次调用 tsc
.
时都写 --target es6
(或 --target es11
)
有什么方法可以为 tsc
设置默认的转译目标版本,这样它就不会自动假设我想要 javascript 就像它是 1999 年一样?
我认为您不能全局更改 default(好吧,您可以修改 tsc
文件,但是...),但您可以设置使用项目根目录中的 tsconfig.json
文件的任何给定项目的选项(包括目标); TypeScript Handbook 的 项目配置 部分中有详细信息。例如:
{
"compilerOptions": {
"target": "ES2015"
}
}
您也不一定非要自己动手,GitHub 上的 tsconfig/bases
project 旨在让各种项目类型的启动和 运行 配置变得容易.
还没有找到配置 tsc 本身的方法;但是声明一个全局 tscFlags
变量就可以了。
这是在 Powershell 中,但我确信 bash/unix 中有等效的方法。
在profile/imported模块中声明[全局]数组:
$tscFlags = @(
# Flags
'--noEmitOnError'
'--strict'
'--alwaysStrict'
'--noFallthroughCasesInSwitch'
'--noImplicitAny'
'--noImplicitReturns'
'--noImplicitThis'
'--noPropertyAccessFromIndexSignature'
'--noUncheckedIndexedAccess'
'--noUnusedLocals'
'--noUnusedParameters'
'--strictBindCallApply'
'--strictFunctionTypes'
'--strictNullChecks'
'--strictPropertyInitialization'
# Options
'-t'
'ES2020'
)
PS C:\> tsc <file.ts> @tscFlags
您可以手动添加更多标志 after/before 'splatted' @tscFlags
调用。
过去 24 小时我花了很多时间学习:
- Visual Studio 代码如何工作
- TypeScript 的工作原理
- TypeScript 编译器 (
tsc
) 的工作原理 - 这三个软件如何组合在一起
不到一天 (!) 我终于成功地编写了一些基本的 TypeScript 并将其编译为 Javascript。
当我发现 TypeScript 编译器 (tsc
) 不仅编译了静态类型标签,而且还 transpiled 时,我的狂喜有点减弱:
const
进入:
var
我说沉默,但实际上我有点害怕。
然后我发现 tsc
的默认转译目标是 ECMAScript 3.
事实证明,我可以通过使用 --target
标志调用 tsc
来保持我的 const
声明不变:
tsc my-first-typescript.ts --target es6
不过。我真的不想每次调用 tsc
.
--target es6
(或 --target es11
)
有什么方法可以为 tsc
设置默认的转译目标版本,这样它就不会自动假设我想要 javascript 就像它是 1999 年一样?
我认为您不能全局更改 default(好吧,您可以修改 tsc
文件,但是...),但您可以设置使用项目根目录中的 tsconfig.json
文件的任何给定项目的选项(包括目标); TypeScript Handbook 的 项目配置 部分中有详细信息。例如:
{
"compilerOptions": {
"target": "ES2015"
}
}
您也不一定非要自己动手,GitHub 上的 tsconfig/bases
project 旨在让各种项目类型的启动和 运行 配置变得容易.
还没有找到配置 tsc 本身的方法;但是声明一个全局 tscFlags
变量就可以了。
这是在 Powershell 中,但我确信 bash/unix 中有等效的方法。
在profile/imported模块中声明[全局]数组:
$tscFlags = @(
# Flags
'--noEmitOnError'
'--strict'
'--alwaysStrict'
'--noFallthroughCasesInSwitch'
'--noImplicitAny'
'--noImplicitReturns'
'--noImplicitThis'
'--noPropertyAccessFromIndexSignature'
'--noUncheckedIndexedAccess'
'--noUnusedLocals'
'--noUnusedParameters'
'--strictBindCallApply'
'--strictFunctionTypes'
'--strictNullChecks'
'--strictPropertyInitialization'
# Options
'-t'
'ES2020'
)
PS C:\> tsc <file.ts> @tscFlags
您可以手动添加更多标志 after/before 'splatted' @tscFlags
调用。