Js的超集,核心是提供了静态类型系统。
例如:定义成数字类型的变量不能用字符串类型值赋值。html
typescript”: “\^3.1.4” (这个是必须的,ts库) “ts-loader”: “\^3.5.0” (识别ts的loader) “tslint”: “\^5.11.0” (tslint校验库) “tslint-loader”: “\^3.5.4” (tslint的loader) “tslint-config-standard”: “\^8.0.1” (用于tslint默认校验规则) “vue-property-decorator”: “\^7.2.0” (用于在.vue文件中使用ts语法)
tsc
,编译器会从当前目录开始去查找tsconfig.json
文件,逐级向上搜索父目录。tsc
,且使用命令行参数--project
(或-p
)指定一个包含tsconfig.json
文件的目录。tsconfig.json
文件会被忽略。{ "compilerOptions": { "target": "es6", //Ts编译成es6 "strict": true, "module": "esnext",//生成指定的模块系统代码 "typeRoots": ["./src/types"],//指定编译的包的范围 "types": ["node", "webpack-env"],//指定可编译的特定包 "moduleResolution": "node", "sourceMap": true, "noImplicitAny": true, "jsx": "preserve", "lib": ["dom", "es6", "es2017"], "baseUrl": "./", "paths": {//基于baseUrl,进行模块解析的文件范围 "@/*": ["src/*"], "@config/*": ["config/*"], "@script/*": ["script/*"], "@store/*": ["src/store/*"], "@library/*": ["src/library/*"], "@modules/*": ["src/modules/*"], "@style/*": ["src/style/*"], "@components/*": ["src/components/*"] }, "allowSyntheticDefaultImports": true }, "include": ["./src/**/*"] }
一、Typescript默认不能识别.vue 文件,因此须要在.d.ts 中声明.vue 模块vue
declare module '*.vue' { import Vue from 'vue' export default Vue }
二、在导入 vue 组件时须要指明 .vue 后缀。node
Typescript中没有后缀的文件,会首先被看成为 js 文件,若是 js 文件没有,就会被看成 .ts 文件。webpack
typees6
interfaceweb
.d.ts 文件typescript
Typescript类型定义json
持续更新...segmentfault
更多资料:dom