typescript学习笔记-编译选项

typescript官网

如果一个目录下存在一个tsconfig.json文件,那么它意味着这个目录是TypeScript项目的根目录。tsconfig.json是编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译

include 编译入口

用来指定那些ts文件需要ts文件需要被编译
路径中
** 表示任意目录
* 表示任意文件

exclude 排除文件夹

用来表示那些文件不会被编译

extends 继承的配置文件路径

定义被继承的配置文件

files 编译的文件列表

制定被编译的列表,只有需要编译的文件少时才会用到

compilerOptions 编译选项⭐⭐⭐⭐⭐(重要)

target 用来指定ts被编译为es的版本

值只能是下面的值

es3 es5 es6 es2015 es2016 es2017 es2018 es2020 esnext

module

指定要是有的模块化的规范
‘none’, ‘commonjs’, ‘amd’, ‘system’, ‘umd’, ‘es6’, ‘es2015’, ‘es2020’, ‘es2022’, ‘esnext’, ‘node16’, ‘nodenext’

lib 用来指定项目中药使用的库

一般不需要动 默认为浏览器环境

outDir 用来指定变异后文件所在的目录

outFile 将代码合并为一个文件

设置outFile后,所有的全局作用域中的代码会被合并到同一个文件中

allowJs 允许编译js文件

默认是编译.ts结尾的文件 如果allowJs为true 会编译文件夹下的 js文件

checkJs 是否检查js代码 是否符合语法规范

默认值为false

removeComments 移除注释

默认为false

noEmit 不生成打包文件

默认为false 使用场景比较少 主要是用于 只想使用ts的类型检查的情况

noEmitOnError 当有错误时 不生成编译文件

代码相关配置

alwaysStrict 用来设置编译后的文件是否使用严格模式

默认为false

strict 严格模式的总开关

如果开启了 strictNullChecks noImplicitAny noImplicitThis等严格模式下的检测都会打开

noImplicitAny 不允许隐式的any类型

noImplicitThis 不允许隐式的this使用

strictNullChecks 严格的检查空值

你可能感兴趣的:(typescript,学习,javascript)