TypeScript编译tsconfig.json配置

配置预览

{
    "include": ["src/**/*"],
    "exclude": ["ndoe_modules", "src/test/*"],
    "compilerOptions": {
        "target": "es6",
        "module": "amd",
        "outDir": "./dist",
        "outFile": "./dist/bundle.js",
        "strict": true
    }
}

配置选项

1.include

  • 定义希望被编译文件所在的目录
  • 默认值:["*/"]

** 代表任意目录 * 代表任意文件

"include": ["src/**/*", "tests/**/*"]

2.exclude

  • 定义需要排除的目录
  • 默认值:["node_modules", "bower_components", "jspm_packages"]
"exclude": ["src/test/*"]

3.extends

  • 定义被继承的配置文件
// 当前配置文件中会自动包含config目录下tsconfig.json的所有配置信息

"extends": "./config/tsconfig"

4.files

  • 指定被编译文件的列表
"files": ["src/test.ts", "src/views/index.ts"]

编译选项

"compilerOptions: { ... }"

1.target

  • 设置ts编译的目标版本
  • 可选值:es3(默认),es5,es6,es7,es2017,es2018,es2019,es2020,esnext
"compilerOptions": {
    "target": "es6"
}

2.module

  • 指定要使用的模块化规范
  • 可选值:none,commonjs,amd,system,umd,es6,es2015,es2020,esnext
"compilerOptions": {
    "target": "es6",
    "module": "amd"
}

3.lib

  • 指定代码运行时所包含的库(宿主环境)
  • 一般运行在浏览器的js程序不需要设置此项
  • 可选值: es5,...,esnext,dom,webworker,scripthost, ...
"compilerOptions": {
    "target": "es6",
    "module": "es6",
    "lib": ["es6", "dom"]
}

4.outDir

  • 编译后文件输出目录
// 编译文件统一输出到dist目录
compilerOptions: {
    "outDir": "./dist"
}

5.outFile

  • 编译后文件统一合并为一个文件
// 编译文件统一合并输出到dist目录下的app.js文件
compilerOptions: {
    "outDir": "./dist",
    "outFile": "./dist/app.js"
}

6.其他

  • allowJs: 是否对js文件进行编译,默认为false
  • checkJs: 是否检查js文件语法规范,默认false
  • removeComments: 是否移除注释, 默认true
  • noEmit: 不生成编译后的文件,通常用作检测ts语法是否规范, 默认false
  • noEmitOnError: 当有错误时不生成编译后的文件, 默认true
  • alwaysStrict: 设置编译后的文件是否使用严格默认,默认false
  • noImplicitAny: 不允许隐式的any, 默认false
  • noImplicitThis: 不允许隐式的this, 默认false
  • strictNullChecks: 严格的检查空值,默认false
  • strict: 所有严格检查的总开关, 默认false
compileOptions: {
    "allowJs": false,
    "checkJs": false,
    "removeComments": true,
    "noEmit": false,
    "noEmitOnError": true,
    "alwaysStrict": false,
    "noImplicitAny": false,
    "noImplicitThis": false,
    "strictNullChecks": false,
    "strict": false
}

你可能感兴趣的:(TypeScript编译tsconfig.json配置)