首页 > 其他分享 >TSConfig 全解

TSConfig 全解

时间:2023-04-22 09:23:35浏览次数:36  
标签:选项 文件 TypeScript 示例 编译器 全解 TSConfig

TSConfig 配置选项全解

TSConfig 是 TypeScript 编译器的配置文件,用于指定 TypeScript 编译器的行为。TSConfig 以 JSON 格式存储,并且支持许多配置选项,包括编译器选项、文件列表和 TSConfig 继承等。

compilerOptions

compilerOptions 是 TSConfig 中最常用的选项之一,用于指定 TypeScript 编译器的行为。以下是常见的 compilerOptions 配置选项:

  • target: 编译代码的目标 JavaScript 版本。默认为 ES3。可选值包括 ES3、ES5、ES6/ES2015、ES2016、ES2017、ES2018、ES2019、ES2020、ES2021、ESNext。
  • module: 代码生成的模块系统。默认为 CommonJS。可选值包括 CommonJS、AMD、System、UMD、ES2015、ES2020、ESNext。
  • lib: 编译过程中需要引入的库文件。默认情况下,编译器会自动包含与目标版本相对应的库文件。如果需要手动指定,可设置为一个数组,包含要引入的库的名称。
  • allowJs: 允许编译 JavaScript 文件。默认为 false。
  • checkJs: 在编译 JavaScript 文件时检查类型。默认为 false。

除了上面列出的选项外,还有其他许多可选的选项。例如,以下是一些其他常见的选项:

  • declaration: 生成 .d.ts 声明文件。默认为 false。
  • sourceMap: 生成 .map 文件以便调试。默认为 false。
  • outDir: 输出文件的目录。默认为当前目录。
  • rootDir: 源代码的根目录。默认为当前目录。
  • strict: 开启所有严格类型检查选项。默认为 false。

files

files 是一个指定文件列表的选项。只有在这个列表中列出的文件才会被编译器处理。以下是一个 files 选项的示例:

{
  "files": [
    "app.ts",
    "helpers.ts"
  ]
}

在这个示例中,只有 app.tshelpers.ts 会被编译器处理。

include 和 exclude

includeexclude 是指定文件匹配模式的选项。使用这些选项,可以指定编译器应该编译哪些文件,哪些文件应该被忽略。以下是一个 includeexclude 选项的示例:

{
  "include": [
    "src//*"
  ],
  "exclude": [
    "node_modules",
    "/*.test.ts"
  ]
}

在这个示例中,include 模式匹配项目中的所有 .ts.tsx 文件。exclude 模式忽略 node_modules 目录和所有以 .test.ts 结尾的文件。

extends

extends 是 TSConfig 的一个高级选项,它允许你在一个 TSConfig 文件中继承另一个 TSConfig 文件的选项。以下是一个 extends 选项的示例:

{
  "extends": "./base.json",
  "compilerOptions": {
    "outDir": "./dist"
  }
}

在这个示例中,当前的 TSConfig 文件继承了 ./base.json 文件中的所有选项,并且覆盖了 compilerOptions 中的 outDir 选项。

References

references 选项是 TypeScript 中的项目引用系统。它允许你在多个 TypeScript 项目之间共享代码和类型定义。以下是一个 references 选项的示例:

{
  "references": [
    { "path": "../shared-types" },
    { "path": "../shared-code" }
  ]
}

在这个示例中,references 选项引用了两个不同的 TypeScript 项目,并且这两个项目中的代码和类型定义可以在当前项目中使用。

Conclusion

这篇文章详细介绍了 TSConfig 的各种选项和用法。了解这些选项和用法可以帮助你更好地配置 TypeScript 编译器,并且更好地管理你的 TypeScript 项目。如果你想深入了解 TypeScript,请查看 TypeScript 官方文档。

作者:刘涛

标签:选项,文件,TypeScript,示例,编译器,全解,TSConfig
From: https://www.cnblogs.com/DTCLOUD/p/17342437.html

相关文章

  • xShell终端中文乱码完全解决方法
    转至:https://www.shuzhiduo.com/A/gVdnq0y85W/xShell(xShell5)以及其他终端中文乱码的原因无非有三种:(1)Linux系统的编码问题;(2)xShell终端的编码问题; (3)两端的语言编码不一致;1.Linux系统的编码问题(1)执行locale命令查看系统语言;(2)设置系统环境变量LANG为e......
  • MongoDB 4.2:配置文件选项全解析《二》
    1.net.unixDomainSocket选项net:unixDomainSocket:enabled:<boolean>pathPrefix:<string>filePermissions:<int>net.unixDomainSocket.enabledType:boolean默认值:True启用或禁用UNIX域套接字上的侦听。net.unixDomainSocket.enabled仅适用于基于Uni......
  • 华为云等保安全解决方案,为你守护网络安全
      进入等保2.0时代,企业到底应该如何做,才能守住云上安全、满足等保合规要求呢?别慌!华为云为客户提供了等保合规安全解决方案,可以帮助客户快速、低成本完成安全整改,实现信息安全保障能力和网络安全防护能力的提升,轻松满足等保合规要求。  华为云等保合规安全解决方案方案有什么......
  • 企业过等保不再难,华为云提供一站式安全解决方案
      “等保”不仅是通过技术手段保护网络信息安全,同时也是法律要求网络运营者必须履行的义务。但对于很多企业来说,因为对于相关法律了解不够深入再加上自身在网络安全方面的技术实力不足,很难单独完成等保认证。  不过企业也无需过于担心,华为云等保可以为企业提供一站式的安全解......
  • 华为云网站安全解决方案,助力企业安心稳步发展
    随着信息化新时代的来临,网络成为了人民社会生活中不可缺少的重要组成部分。小到吃饭、购物,大到水电缴纳、日常就医,网络已经深入到我们生活的方方面面,因此,它的安全也就显得尤为重要。 据统计,有超过75%的网络安全问题都发生在Web应用层上,他们可能会造成企业的域名被劫持、数据信息泄......
  • ​华为云网站安全解决方案,多重防御保护企业数据安全
    身处互联网时代,网络和信息安全始终都是人们关注的话题,对于企业来说也是一样。以网站安全为例,如果企业网站在安全防护措施方面存在不足,那么就很容易遭受黑客的击,轻则导致网站无法正常访问,重则导致敏感信息泄露,严重影响企业的正常经营,让企业蒙受巨大损失。同时,保护网络安全还是企业需......
  • 华为云发布全新安全解决方案,助力企业实现云上云下安全防护​
    华为云发布全新网站安全解决方案,助力企业实现云上云下一体安全防护近年来,随着网络技术的快速发展和互联网应用的广泛普及,网络安全问题愈发严重。据统计,信息安中超过75%发生在Web应用层上,给数以万计的用户带来巨大损失。为应对日益严峻的网络安全挑战,华为云推出了全新的网站安全解决......
  • Composer命令全解析
    常用命令镜像#配置中国镜像composerconfig-grepo.packagistcomposerhttps://packagist.phpcomposer.com#配置其他厂商镜像#阿里云(好像说停用了)composerconfig-grepo.packagistcomposerhttps://mirrors.aliyun.com/composer/#腾讯composerconfig-grepo.packag......
  • head/reset/revert/rebase代码回滚全解:git提交记录的背后原理
    多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,操作有:回退(reset):reset是彻底回退到指定的commit版本,该commit后的所有commit都将被清除;reset执行后不会产生记录反转(revert):revert仅是撤销指定commit的修改,并不影响后续......
  • Linux系统里的抓包工具全解
    有时也许想看一下某个网卡上都有哪些数据包,尤其是当你初步判定服务器上有流量攻击时,使用抓包工具来抓取数据包就可以知道有哪些IP在攻击了。14.2.1tcpdump工具具体用法如下:#tcpdump-nn-iens33tcpdump:verboseoutputsuppressed,use-vor-vvforfullprotocoldecode......