gpt4 book ai didi

tsc - Typescript TSC CommandLine - 防止 TSC 观看

转载 作者:行者123 更新时间:2023-12-04 02:24:40 25 4
gpt4 key购买 nike

起初:我知道命令行中tsctsc -w的区别。这不是问题,而是一种特殊情况:

在 VS Code 的 tsconfig 中,我通过设置 "watch":true 启用了观察器。这是绝对想要的。但是现在的问题是:

我有一些脚本应该安装整个 VS Code 项目环境(因此是特定项目本身)并希望项目最初由 tsc 编译。但现在它以监视模式编译它,因为 tsconfig 要求这样做。我可以在这里破例吗?最初在 bat 文件中编译时,我希望 tsc 不会自动将 watch 选项设置为 true,而是在忽略 tsconfig 中的 watching 选项打开或关闭时编译它。

有什么办法可以实现吗?

谢谢!

最佳答案

您可以比基于重命名的解决方案做得更好。现在,问题是当您调用 tsc 时,-w (--watch) 标志被 compilerOptions 覆盖。 watchtsconfig.json 中指定的值(与调用 tsc 脚本位于同一目录中)。我们将使用 TypeScript 2.1 中引入的功能:configuration inheritance .

基本配置,tsconfig.json(一次性模式)

在这里写下任何典型的行为。这将是我们的基础(默认)tsconfig 文件。

{
"compilerOptions": {
"watch": false,
"module": "commonjs",
"target": "es6",
"sourceMap": true,
"inlineSources": true,
"strictNullChecks": true
}
}

扩展配置tsconfig_w.json(观看模式)

现在我们为它编写一个扩展,其中一个属性被更改:compilerOptions.watch 被覆盖为 true

{   
"extends": "./tsconfig.json",
"compilerOptions": {
"watch": true
}
}

命令行调用tsc

之前,您在调用 tsc 时没有提供任何进一步的参数。现在,您应该明确指定它应该从哪个 tsconfig 读取。

  • 一次性:tsc --project tsconfig.json(这是它将使用的默认文件,但让我们明确一点)。

  • 观看:tsc --project tsconfig_w.json

注意:--project 标志是在 TypeScript 1.8 中引入的.

为方便起见,可选额外的:package.json

我倾向于将这些作为方便的脚本写入我的 package.json:

"scripts": {
"lib": "./node_modules/.bin/tsc --project tsconfig.json",
"libw": "./node_modules/.bin/tsc --project tsconfig_w.json"
}

然后,您只需运行 npm run libnpm run libw,具体取决于您需要的脚本。

注意:我在本地而不是全局指定了 TypeScript 的路径(因为我没有在全局安装它)。

关于tsc - Typescript TSC CommandLine - 防止 TSC 观看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38324855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com