tsconfig.json文件常用配置

最近在学ts,因为tsconfig的配置实在太多啦,所以写此文章用作记录,也作分享

作用?

tsconfig.jsono是ts编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译

初始化一个tsconfig文件

tsc -init

在这里插入图片描述
在这里插入图片描述

配置参数解释

include

用来指定哪些ts文件需要被编译

//tsconfig.json
{"include":["./src/**/*"]
}

以上代码表示,只有src下的所有文件(**)的所有目录(*)需要被编译

exclude

用来指定不需要被编译的ts文件,默认值:【“node_modules”,“bower_components”,“jspm_packages”】

//tsconfig.json
"exclude":["./src/hello/**/*"]

以上代码表示src下的所有文件的所有目录都不需要被编译

extends

定义要继承的配置文件(比如有两个tsconfig.json文件A、B,A可以不用自己配置,而去继承B的)

files

指定被编译的文件目录,和include有点像,只不过files是把小目录全部列出来了

//tsconfig.json
files:["core.ts","sys.ts","types.ts"]

compilerOptions

  • target
    用来指定ts要被编译的js版本,可选值:‘es3’, ‘es5’, ‘es6’, ‘es2015’, ‘es2016’, ‘es2017’, ‘es2018’, ‘es2019’, ‘es2020’, ‘es2021’, ‘es2022’, ‘esnext’
//tsconfig.json
{compilerOptions:{target:"es2020"}
}
  • lib
    指定要用到的库,例如:在js文件中用了document.getElementById(),就必须引入dom
//tsconfig.json
{compilerOptions:{lib:["dom"]}
}
  • moodule
    指定模块化规范的类型
//tsconfig.json
{compilerOptions:{module:"commonjs"}
}
  • rootDir
    用来指定编译的入口文件,即特指编译哪个文件里的ts
//tsconfig.json
{compilerOptions:{"rootDir": "./src"}
}

在这里插入图片描述
以上json文件用指定,只编译src下的ts文件

  • outDir
    用于指定被编译后的生成的js文件放在何处
//tsconfig.json
{compilerOptions:{"outDir": "./dist"}
}

在这里插入图片描述
以上配置表明被编译后的js文件放在dist文件夹中

  • outFile
    将编译后的代码放入同一文件
//tsconfig.json
{compilerOptions:{"outFile": "./all.js"}
}

以上配置表明,将编译后形成的js代码合并到all.js当中

  • removeComments
//tsconfig.json
{compilerOptions:{"removeComments": true}
}

编译后移除注释

  • noEmit
    不生成编译后的文件
//tsconfig.json
{compilerOptions:{"noEmit": true}
}
  • noEmitOnError
    有错误时,不生成编译后文件
//tsconfig.json
{compilerOptions:{"noEmitOnError": true}
}
  • strict
    所有严格检查的总开关
//tsconfig.json
{compilerOptions:{"strict": true}
}
  • allowJs
    是否对js文件进行编译
//tsconfig.json
{compilerOptions:{"allowJs": true}
}
  • checkJs
    是否检测js代码是否符合语法规范(把js当ts语法检查)
//tsconfig.json
{compilerOptions:{"checkJs": true}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/619810.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java框架】Mybatis教程(一)——环境搭建及基本CRUD操作

目录 持久化与ORMORM(Object Relational Mapping)ORM解决方案包含下面四个部分 MyBatis简介特点MyBatis框架优缺点优点缺点 搭建MyBatis开发环境步骤1. 创建Maven工程,导入MyBatis依赖的组件2. 编写MyBatis核心配置文件(mybatis-config.xml)示…

UE5不打包启用像素流 ubuntu22.04

首先查找引擎中像素流的位置: zkzk-ubuntu2023:/media/zk/Data/Linux_Unreal_Engine_5.3.2$ sudo find ./ -name get_ps_servers.sh [sudo] zk 的密码: ./Engine/Plugins/Media/PixelStreaming/Resources/WebServers/get_ps_servers.sh然后在指定路径中…

matlab使用教程(44)—绘制带标记的二维曲线图

在线图中添加标记是区分多个线条或突出显示特定数据点的有用方法。使用下面的一种方式添加标记: • 在线条设定输入参数(例如 plot(x,y,-s) )中包含标记符号。 • 将 Marker 属性指定为一个名称-值对组,例如 plot(x,y,Marker,s…

(六)C++自制植物大战僵尸游戏关卡数据讲解

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/xjvbb 游戏关卡数据文件定义了游戏中每一个关卡的数据,包括游戏类型、关卡通关奖励的金币数量、僵尸出现的波数、每一波出现僵尸数量、每一波僵尸出现的类型等。根据不同的游戏类型,定义了不同的通…

Windows远程桌面连接虚拟机Linux

Windows远程桌面连接虚拟机Linux 需要先打开虚拟机的启用VNC连接使用VNC客户端进行连接 yum install -y tigervnc-server #安装tigervnc-server vncserver #启动一个vnc进程 #第一次启动会要求设置密码 #如果需要更改密码可以使用vncpasswd进行更改密码 vncserver -list #查看…

【算法练习】30:快速排序学习笔记

一、快速排序的算法思想 原理:快速排序基于分治策略。它的基本思想是选择一个元素作为“基准”,将待排序序列划分为两个子序列,使得左边的子序列中的所有元素都小于基准,右边的子序列中的所有元素都大于基准。这个划分操作被称为分…

在k8s 中部署有状态服务MongoDB高可用集群详解(附带镜像)

🐇明明跟你说过:个人主页 🏅个人专栏:《Kubernetes航线图:从船长到K8s掌舵者》 🏅 🔖行路有良友,便是天堂🔖 目录 一、前言 1、k8s简介 2、MongoDB介绍 3、为什么要…

新手开抖店不出单?三种方法解决“没曝光,没流量”难题!

哈喽~我是电商月月 新手开抖店经常会这样做:开通后选品上架。然后傻傻的等待流量进来,然后每天就是刷新再刷新?最后还是没流量! 我敢说这样做你两个月也出不了单,方法错误,再好的产品也卖不出去&#xff…

C++内存管理和模板

一、内存管理 关键字:new delete 我们知道,在C语言中内存的开辟和修改,要用到函数malloc/calloc等,而且要直自己判断内存开辟是否正确,所以在C中,提供了两函数:new/delete 由于malloc无法很…

【我的代码生成器】生成React页面类

有了数据表的结构信息,就能生成React 的页面类,快捷方便。 生成界面如下: 生成的React FrmUser.js页面如下: 只需再写里面的操作逻辑代码。

婴儿专用洗衣机有必要买吗?四大宝藏婴儿测评对比

幼龄时期的宝宝的衣物,是比较需要注意的时候。可能一不注意宝宝穿在身上就会有不适宜症状发生。所以宝妈们真的要随时观察,然后在宝宝洗衣服的这上面多下点功夫,不要让宝宝受到这种无谓的伤害。小婴儿的抵抗力比我们差很多。有些细菌、病毒可…

探索未来:智能客服产品架构的演进与创新

随着科技的迅猛发展和人工智能技术的不断成熟,智能客服已经成为了现代企业提供客户服务的重要方式。而智能客服产品的架构设计则直接影响着其在实际运营中的效果和用户体验。本文将探讨智能客服产品架构的演进历程以及未来的创新趋势。 1. 传统客服架构的局限性 传…