ts总结 之 编译选项

其他内容
ts中的类型
编译选项
webpack打包

文章目录

  • 一、自动编译
  • 二、配置选项
    • 1、include
    • 2、exclude
    • 3、extends
    • 4、files
    • 5、compilerOptions
      • (1) target
      • (2) module
      • (3) lib
      • (4) outdir
      • (5) outFile
      • (6) allowJs
      • (7) checkJs
      • (8) removeComments
      • (9) noEmit
      • (10) noEmitOnError
      • (11) strict
        • alwaysStrict
        • noImplicitAny
        • noImplicitThis
        • strictNullChecks

一、自动编译

编译某个文件:

  • tsc xxx.ts -w
    一键编译所有文件:
  • tsc
    编译所有文件并监视:
  • tsc -w

二、配置选项

1、include

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

  • **:任意目录
  • *:任意文件
"include": [
    "./src/**/*"
  ],

2、exclude

排除不想编译的文件

  • 默认值:[
    “node_modules”,
    “bower_components”,
    “jspm_packages”
    ]
"exclude": [
    "./src/hello/**/*"
  ],

3、extends

定义要继承的配置文件

  • 不想重复写配置文件内容时,根据文件名,继承该文件的内容
//当前配置文件中会自动包含config目录下base.json中的所有配置信息
"extends": "./src/base",

4、files

指定要编译的文件,需要编译的文件很少时才会用到

"files": [
    "app.ts",
    "index.ts",
    "./src/app.ts"
  ],

5、compilerOptions

编译器的选项

(1) target

用来指定ts被编译为的es版本

  • 可选项:ES3(默认)、ES5、ES6/ES2015、ES7/ES2016、ES2017、ES2018、ES2019、ES2020、ESNext
"target": "ES3"

(2) module

编译后代码使用的模块化系统

  • 可选项:CommonJS、UMD、AMD、System、ES2020、ESNext、None
"module": "es2015"

(3) lib

用来指定所需要的库,一般不用动,有默认值

  • 可选项:‘es5’, ‘es6’, ‘es2015’, ‘es7’, ‘es2016’, ‘es2017’, ‘es2018’, ‘es2019’, ‘es2020’, ‘es2021’, ‘esnext’, ‘dom’, ‘dom.iterable’, ‘webworker’, ‘webworker.importscripts’, ‘webworker.iterable’, ‘scripthost’, ‘es2015.core’, ‘es2015.collection’, ‘es2015.generator’, ‘es2015.iterable’, ‘es2015.promise’, ‘es2015.proxy’, ‘es2015.reflect’, ‘es2015.symbol’…
   "lib": []

(4) outdir

用来指定编译后文件所在的目录

"outDir": "./dist"

(5) outFile

将代码合并成一个文件
设置outFile后,所有的全局作用域合并在一个文件中
module中只有’amd’ 和 ‘system’ 支持outFile

"outFile": "./dist/app.js"

(6) allowJs

是否对js文件进行编译,默认是false
如果项目中某些模块用js写,可能需要编译

"allowJs": false

(7) checkJs

检查js是否符合语法规范,默认是false

"checkJs": false

(8) removeComments

是否移除注释,默认是false

"removeComments": true

(9) noEmit

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

 "noEmit": true

(10) noEmitOnError

当有错误时不生成编译后的文件,默认是false

"noEmitOnError": false

(11) strict

所有严格检查的开关

"strict": true,
alwaysStrict

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

"alwaysStrict": true,
noImplicitAny

当某个变量不指定类型时,使用any类型

"noImplicitAny": true,
noImplicitThis

不允许类型不明的 this

"noImplicitThis": true,
strictNullChecks

严格的检查空格

"strictNullChecks": true,

你可能感兴趣的:(typescript,学习,typescript,javascript)