(自用)TS学习笔记之二:编译相关问题(热更新与配置文件tsconfig.json的使用)

软件环境:Webstorm 2022.3.2

热更新单独文件

创建一个ts文件时,可以一开始就在终端写上 tsc 文件名.ts -w

则之后该文件改动时,终端会自动监视其变化并自动编译,不用再手动编译。

但缺点是监视时间会有点长,且不能关闭该监视终端窗口,否则监视中止。同时一个监视终端窗口只能监视一个ts文件。

热更新所有文件

法一:在命令行执行 tsc --init(如果有了tsconfig.json文件,就不能使用法一了,因为该指令就是编译器为我们快速创建默认的tsconfig配置文件)

法二:在目录下创建一个tsconfig.json文件,将大括号里面的内容全部去除,只剩下大括号{}。然后在终端中执行tsc -w(热更新所有文件,如果只是tsc 则是编译所有文件)

热更新某些文件

在目录下创建一个tsconfig.json文件,并在里面写上配置选项:(**表示所有目录下,*不是所有文件),include和exclude不能是同样的路径。

基础选项

include 默认值["**/*"]

exclude 默认值["node_modules","bower_components","jspm_packages"]

extends 被继承的配置文件

allowJs 是否对js文件进行编译,默认是false

checkJs 是否检查js代码,默认是false

removerComments 是否移除注释,默认是false

noEmit 不生成编译后的文件,默认是false(作用在于有时候只想要检查文件,不想要编译文件,则打开)

noEmitOnError 当有错误时不编译,默认是false

alwaysStrict 是否对编译后的文件使用严格模式,默认false(但如果target是ES6,也会默认开启严格模式,且如果原代码中含有模块的使用,也会默认开启严格模式)

noImplicitAny 不允许隐式的any使用 默认false

noImplicitThis 不允许不明确类型的this 默认false

strictNullChecks 严格地检查控制 默认false

strict 所有严格的总开关,包括上面四个,alwaysStrict noImplicitAny noImplicitThis strictNullChecks

compilerOptions

子选项有:(ATT:如果想要知道子选项的可选项有哪些,可以随便打个错误的,报错提示会有可选项)

target

设置ts编译的目标版本,默认值ES3,可选项:ES5,ES6,ES2020,ESNext(表示最新版),……

lib

指定代码运行时包含的第三方库,默认值是浏览器前端所需要的库,可选项有:WebWorker、DOM,……

module

设置编译后代码使用的模块化系统,默认值CommonJS,可选项有:CommonJS,AMD,System,ES2020,ESNext,……

outdir

指定编译后文件所在的目录

outFile

将编译后的全局作用域的代码合并为一个文件。(如果module不指定为AMD或者System,会有报错,但是不影响输出的outFile)

你可能感兴趣的:(TS学习,typescript,前端,学习,webstorm,es6)