微软推出的 弱类型、静态类型 语言,包含了很多尚未实现的ECMA标准,是JS的超集。
与C#作者相同,语法上也有许多共同之处。
通过编译为JS执行,仅编译时进行静态检查。
安装与编译
安装 typescript
npm install -g typescript
创建配置文件 tsconfig.json
tsc --init
编译 typescript
- 通过命令行直接调用
tsc
,编译器会从当前目录开始去查找tsconfig.json文件
,逐级向上搜索父目录。 - 命令行参数--project(或-p)可指定一个包含tsconfig.json的目录,或一个配置文件。
- 当命令行上直接指定了输入文件时,
tsconfig.json
文件会被忽略。
tsconfig.json
位于TS项目的根目录,指定了用来编译这个项目的根文件和编译选项。
其中compilerOptions
内属性也可以通过加--
前缀充当命令行参数,如tsc --watch
等,详见配置说明
{
"compilerOptions": {
"noEmit": true, tsc只做类型检查,不编译导出文件
"target": "es2016", 配置编译目标代码的版本标准
"module": "commonjs", 配置编译目标使用的模块化标准,包括commonjs,amd,system,umd
"lib": ["es2016","dom"], 配置环境
"declaration": true, 是否生成.d.ts文件,默认为false
"declarationDir": "dist",
"outDir": "./dist", 输出编译结果位置
默认node_modules/@types中的内容也会在编译时被包含。通过以下配置可以改变包含规则
"types" : ["lodash"],仅包含node_modules/@types/lodash的包。可配置为[]关闭自动引入@types包
"typeRoots" : ["./typings"], 不包含./node_modules/@types,改为包含所有./typings下的包
"allowJs" : true 允许编译JS文件
},
待编译的目录或文件,支持通配符。
如未配置include和files,则默认包括当前目录下所有内容
格式仅支持.ts、.d.ts、.tsx文件,如启用allowJs,则还支持.js、.jsx文件
"include": [
"./**/*"
],
不编译的目录或文件,支持通配符。
总是包括node_modules、bower_components、jspm_packages 和 outDir下的文件
指定排除的文件如被include/files中文件引用,则依然会被编译
优先级高于include
"exclude": [
"dist"
],
待编译的文件,不支持通配符。通常有了include项可不配置该项。
优先级高于exclude
"files":[
"core.ts"
],
继承另一个配置文件(.json可省略),同名属性优先采用被继承文件。
配置文件里的相对路径在解析时相对于它所在的文件。
"extends": "./configs/base",
}
网友评论