Typescript – 编译配置说明

导读

 - 严格检查

        - strict
          - 启用所有的严格检查,默认值为true,设置后相当于开启了所有的严格检查
        - alwaysStrict
          - 总是以严格模式对代码进行编译
        - noImplicitAny
          - 禁止隐式的any类型
        - noImplicitThis
          - 禁止类型不明确的this
        - strictBindCallApply
          - 严格检查bind、call和apply的参数列表
        - strictFunctionTypes
          - 严格检查函数的类型
        - strictNullChecks
          - 严格的空值检查
        - strictPropertyInitialization
          - 严格检查属性是否初始化

      - 额外检查

        - noFallthroughCasesInSwitch
          - 检查switch语句包含正确的break
        - noImplicitReturns
          - 检查函数没有隐式的返回值
        - noUnusedLocals
          - 检查未使用的局部变量
        - noUnusedParameters
          - 检查未使用的参数

      - 高级

        - allowUnreachableCode
          - 检查不可达代码
          - 可选值:
            - true,忽略不可达代码
            - false,不可达代码将引起错误
        - noEmitOnError
          - 有错误的情况下不进行编译
          - 默认值:false

 

tsconfig.json 文件配置

tsconfig.json 是 ts 编译器的配置文件,ts 编译器可以根据它的信息来对代码进行编译

 

indclude

用来指定哪些 ts 文件需要被编译

{
  "include" : [
     "./src/**/*",
  ]
}

** 代表任意目录

 

* 代表任意文件

 

exclude

用来指定哪些 ts 文件不编译

{
  "exclude" : [
     "./src/**/*"
  ]
}

** 代表任意目录

* 代表任意文件

默认值:“node_modules”,"bower_components" ,"jspm_packages"

 

extends

定义被继承的配置文件

{
  "extends" : “./configs/base”
}

 

 

files

指定被编译文件的列表,只有需要编译的文件少时才会用到

{
  "files" : [“core.ts”, "foo.ts", ...]
}

 

 

compilerOptuions

compilerOptuions 编译器的选项,决定编译器的编译配置

编译选项是配置文件中非常重要也比较复杂的配置选项

 

target

用来指定 ts 被编译的 ES 的版本

{
  "compilerOptuions": {
        "target" : 'ES5'
    }
}

 

 

module

指定要使用的模块化的规范

{
  "compilerOptuions": {
        "module" : 'es2015'
    }
}

 

 

lib

用来指定项目中要使用的库,比如 document 的库,就用用到 dom 库

{
  "compilerOptuions": {
        "lib" : ["dom", "es6"]
    }
}

默认情况下不需要更改或变动

 

 

outDir

用于定义编译后文件所在的目录,默认是放在 ts 文件同目录下

{
  "compilerOptuions": {
        "outDir" : "./dist"
    }
}

 

 

outFile

用于将代码合并为一个文件

{
  "compilerOptuions": {
        "outFile" : "./dist/app.js"
    }
}

使用合并文件,只能在module中设置 "amd""system"

 

 

allowJS

指定是否对JS文件进行编译,默认是 false

{
  "compilerOptuions": {
        "allowJs" : true
    }
}

 

 

checkJs

用于检查 js 文件是否符合语法规范,默认为 false

{
  "compilerOptuions": {
        "checkJs" : true
    }
}

 

 

removeComments

是否移除注释,默认为 false ,如果想编译后去掉所有注释,可以设为 true

{
  "compilerOptuions": {
        "removeComments" : true
    }
}

 

 

noEmit

是否生成编译后的文件,默认为 false

{
  "compilerOptuions": {
        "noEmit" : true
    }
}

一般用于只编译检查不生成文件的做法

 

 

noEmitOnError

编译出错时不生成js文件,默认就算出现错误也会生成文件,设为 true 一旦出错就不会生成 js 文件,避免有安全隐患的代码编译出来。

{
  "compilerOptuions": {
        "noEmitOnError" : true
    }
}

 

 

alwaysStrict

用来设置编译后的文件是否使用严格模式,默认 false

{
  "compilerOptuions": {
        "alwaysStrict" : true
    }
}

 

 

noImplicitAny

指定不允许隐式 any 类型

{
  "compilerOptuions": {
        "noImplicitAny" : true
    }
}

 

 

noImplicitThis

指定不允许不明确类型的 this,当在某些情况下 this 是指谁,不明确的时候,设置为true,会出现报错,除非显式的指定 this 是 谁,如 this : window

{
  "compilerOptuions": {
        "noImplicitThis" : true
    }
}

 

 

strictNullChecks

是否启用检查空值,默认为 false ,意思是,当取得某个值时,有可能会取不到,得到的值为 null 或 undefined ,这时会报错提示,必须选判数该值是否存在后,再执行值的操作。

{
  "compilerOptuions": {
        "strictNullChecks" : true
    }
}

 

strict

所有严格检查总开关,如果为 true ,所有编译检查都开启

{
  "compilerOptuions": {
        "strict" : true
    }
}

 

如果您喜欢本站,点击这儿不花一分钱捐赠本站

这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看

修改版本安卓软件,加群提示为修改者自留,非本站信息,注意鉴别

THE END
分享
二维码
打赏
海报
Typescript – 编译配置说明
导读 - 严格检查 - strict - 启用所有的严格检查,默认值为true,设置后相当于开启了所有的严格检查 - alwaysStrict - 总是以严格模式对代码进行……
<<上一篇
下一篇>>