开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情
PS:已经更文多少天,N就写几。一定要写对文案,否则文章不计入在内;模板句子需要带超链接。
因为浏览器不能直接识别ts文件,所以我们写的ts文件需要编译成js再去运行
编译:tsc xxx.ts
由于每次修改都要手动转一次所以可以使用 tsc xxx.ts -w 来监听这个ts文件的改变自动编译 -w就是watch
但是每个ts文件都要输入一次,麻烦,所以我们在项目中直接使用tsc全部编译,但是有一个前提必须有tsconifig.json这个配置文件可以什么都不写但必须有,就可以执行tsc来编译项目中的所有ts文件,这个时候终端输入tsc -w就可以监视所有的ts文件变化自动编译为js文件了,(vscode是tsc -init )
tsconifig.json配置文件,以下为tsconifig.json常用配置
{
/*
tsconifig.json是ts编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译
'include' 用来指定哪些文件需要被编译,路径:两个**表示任意目录一个*表示任意文件
"exclude"不需要被编译,定义需要排除在外的目录,可选,默认值:["node.modulse,"bower_compoents,"jspm_packages"]
"extends"表示继承其他配置文件
"files"指定被编译的文件列表,只有需要编译的文件少时才会用到
"compilerOptions"编译器的选项
*/
"include":[
''./src/**/*'' ,
''./SSR/**/*''
],
"exclude":[
"./src/hello/**/*"
],
"extends":"./confing/base",
"files":["sys.ts","care.ts".....],
//编译选项配置
"compilerOptions":{
//target 用来指定编译为的Es的版本,值为"esnext"表示最新版本的Es
"target":'Es3'
//module 指定要使用的模块化规范 值为"esnext"表示最新版本的
"module":"Es2015"
//lib用来指定项目中要使用的库 一般默认就行
"lib":["esnext", "dom"]
//outDir 用来指定编译后的文件所在的目录
"outDir":"./xx"
//outFile 将代码合并为一个文件设置outFile后,所有的全局作用域中的代码会合并到同一个文件中
"outFile":"./xx/xx.js"
//allowJs 是否对js文件进行编译,默认是false
"allowJs":false
//checkJS 是否检查js代码是否符合语法规范,默认是false
"checkJS":false
//removeComments 是否移除注释,默认为false
"removeComments":true
//noEmit 不生成编译后的文件 默认为false
"noEmit":true
//strict 所有严格检查的总开关
"strict":false
//noEmitOnError 当有错误是不生产编译文件
"noEmitOnError":true
//alwaysStrict 用来设置编译后的文件是否使用严格模式,默认为false
"alwaysStrict":false
//noImplicitAny 不允许隐式的any类型
"noImplicitAny":true
//noImplicitThis 不允许不明确类型的this
"noImplicitThis":true
//noImplicitThis 严格的检查空值,比如使用的某个元素是否为null
"strictNullChecks":true
}
}