一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第5天,点击查看活动详情。以下是我在学习TypeScript入门,根据教程和文档总结的关于ts笔记。方便新人更清晰的进入ts的大门。
关于编译选项
如何自动编译文件?
tsc test.ts -w
其中,-w指定,ts编译器会自动监视文件的变化,并在文件发生变化时对文件进行重新编译。
tsconfig.json是ts编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译
- include 用来指定哪些ts文件需要被编译
路径:** 表示任意路径,* 表示任意文件
默认:["**/*"] - exclude 不需要被编译的文件目录 默认值:["node_modules","bower_components","jspn_packages"]
- extends 定义被继承的配置文件 不常用
- files 指定被编译文件的列表,只需要编译的文件少时才会用到
"files": [ "tsc.ts", "core.ts" ], // 列表中的文件都会被ts编译器所编译 - compilerOptions
编译选项是配置文件中非常重要也比较复杂的配置选项
在compilerOptions中包含多个子选项,用来完成对编译的配置
项目选项
target 用来指定ts被编译为ES的版本 默认ES3
moudle 指定要使用的模块化的规范
lib用来指定项目中要使用的库
outDir 用来指定编译后文件所在目录
outFile 将代码合并为一个文件
allowJs 是否对js文件进行编译,默认是false
checkJs 是否检查js代码是否符合语法规范,默认是false
removeComments 是否移除注释
noEmit 不生成编译后的文件
strict 所有严格检查的开关
alwaysStrict 用来设置编译后的文件是否使用严格模式,默认false
noImplicitAny 不允许隐式的any类型
noImplicitThis 不允许不明确类型的this
strictNullChecks 严格的检查空值 实例如下
{
"include": [
"./src/**/*" //所有src目录下的文件都会被编译
],
"exclude": [
"./src/hello/**/*"
],
"compilerOptions": [
"target": "es2015",
"module": "CommonJs",
"lib": ["ES6","DOM"],
"outDir": "./dist",
"outFile": "./dist/app.js", //设置outFile后,所有的全局作用域中的代码会合并到一个文件中
"allowJs": true,
"checkJs": true,
"removeComments": true,
"noEmit": true,
"noEmitOnError":true,
"strict": true,
"alwaysStrict": true,
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
]
}