tsc编译
编译单个ts为js
$ tsc basic.ts
编译多个ts为js
# 在项目根目录下初始化tsconfig.json配置文件
$ tsc --init
# 使用tsc命令,编译当前目录下的所有js文件
$ tsc
监视编译
# --watch, -w Watch input files.
# 当ts文件更新时,会自动编译
tsc -w basic.ts
# 监视所有ts文件
tsc -w
tscconfig.json配置文件
{
// 只包含
"include": [
// 根目录下的src下的任意文件以及目录都会被编译,找不到src目录将会报错,
"./src/**/*"
],
// 不包含,
"exclude": [
// hello 下的文件不需要被编译,
"./src/hello/**"
],
// 继承其他json的配置,
"extends": "./config/base",
// 类似include,指定编译的ts源码文件,
"files": [
"src/a.ts",
"src/b.ts"
],
// 编译选项
"compilerOptions": {
// 指定ts要编译为的es版本
"target": "ES6",
// 指定模块化标准
"module": "ES6",
// 指定项目中要使用的ts库
"lib": [
// 引入dom库
// "DOM"
],
// 编译后的js文件的存放路径
"outDir": "./dist",
// 将生成的结果合并成一个js文件
// 前提是 module 必须是 amd 或者 system
// "outFile": "app.js",
// 是否对js文件进行编译
"allowJs": false,
// 是否检查js语法
"checkJs": false,
// 编译后是否移除注释
"removeComments": true,
// 是否不生成编译后的文件,默认false,如果是true,不会生成编译后的js文件,只执行编译过程
"noEmit": false,
// 当有错误时,不生成编译后的文件
"noEmitOnError": true,
// 所有严格检查的总开关,推荐全部打开
"strict": true,
// 开启严格模式,相当于 use strict; 默认是false
"alwaysStrict": true,
// 隐式any变量, 即不指定类型时,类型不允许设置为any,默认false,通常设置true
"noImplicitAny": true,
// 隐式this,不明确类型的this
// 比如: function f() {alert(this)} 这个this无法确定类型,有可能是方法调用,有可能是函数调用
// 如果设置为true,将会检查隐式this,并报错
"noImplicitThis": true,
// 空检查警告
"strictNullChecks": true
}
}
最后更新于
这有帮助吗?