TS_编译选项

自动编译配置

ts文件必须编译成js文件,如果每次都需要手动编译太麻烦,我们可以进行相应的配置。
在项目中新建tsconfig.json文件,加入如下内容
(为空对象即可)

{
}

在终端输入 tsc -w,就可以编译所有ts文件,并且实时更新。

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

tsconfig. json的配置

include

“include” 用来指定哪些ts文件需要被编译。
一个*表示任意文件,两个*表示任意目录

{
    "include": [
        // 一个*表示任意文件,两个*表示任意目录
        "./src/**/*",
    ],
}

exclude

  • "exclude"不需要被编译的文件目录
    默认值: [“node_modules”, “bower_components”, “jspm_packages”]
{
    "include": [
        "./src/**/*",
    ],
    "exclude": [
        "./src/hello/**/*"
    ]
}

extends

  • “extends”:定义被继承的配置文件
"extends":"./configs/base"

表示当前配置文件中会自动包含config目录下base.json中的所有配置信息

files

  • “files” 指定被编译文件的列表,只有需要编译的文件少时才会用到
"files": [
    "app.ts"
   ]

compilerOptions

compilerOptions编译器的选项,有内层配置:

  • target:用来指定ts被编译为的ES的版本
    选项:‘es3’, ‘es5’, ‘es6’, ‘es2015’, ‘es2016’, ‘es2017’, ‘es2018’, ‘es2019’, ‘es2020’, ‘es2021’, ‘es2022’, ‘esnext’
  • module:指定要使用的模块化的规范
    可选值:‘none’, ‘commonjs’, ‘amd’, ‘system’, ‘umd’, ‘es6’, ‘es2015’, ‘es2020’, ‘es2022’, ‘esnext’, ‘node16’, ‘nodenext’
  • lib:用来指定项目中要使用的库
    可选值:‘es5’, ‘es6’, ‘es2015’, ‘es7’, ‘es2016’, ‘es2017’, ‘es2018’, ‘es2019’, ‘es2020’, ‘es2021’, ‘es2022’, ‘esnext’, ‘dom’,…
    默认是浏览器的环境库。
    一般情况下默认即可,不需要我们进行修改。
  • outDir用来指定编译后文件所在的目录
  • outFile将代码合并为一个文件
    设置outFile后,所有的全局作用域中的代码会合并到同一个文件中
  • allowJs是否对js.文件进行编译,默认是false
  • checkJs是否检查s代码是否符合语法规范,默认是false
  • removeComments 编译后的文件是否移除注释,默认是false
  • noEmit:不生成编译后的文件,默认是false
  • noEmitOnError:当有错误时不生成编译后的文件,默认是false
  • alwaysStrict:编译后的js文件使用严格模式,默认是false
    严格模式的js:文件头部添加"use strict";
  • noImplicitAny:不允许隐式的any类型,默认是false
  • noImplicitThis:不允许类型不明确的this,默认是false
  • strictNullChecks:严格检查空值,默认是false
  • strict:所有严格检查的总开关

eg:

{
    "compilerOptions": {
        "target": "ES6",
        "module": "system",
        "outDir": "./dist",
        // "outFile": "./dist/app.js",
        "allowJs": false,
        "checkJs": false,
        "removeComments": false,
        "noEmit": false,
        "noEmitOnError": false,
        "alwaysStrict": true,
        "noImplicitAny": false,
        "noImplicitThis": false,
        "strictNullChecks": false,
        "strict": false
    } 
}

skipLibCheck

skipLibCheck 当配置为 true 时,编译器会跳过类型检查的库文件(即 .d.ts 文件)。默认值为 false,表示编译器会检查库文件中的类型错误。
这个选项主要用于加速编译过程。因为类型检查通常需要消耗一定的时间,而在某些情况下,我们可能并不关心库文件中是否有类型错误(例如,我们对库文件有足够的信任,或者我们只关心自己代码的类型错误),因此可以设置 skipLibCheck 为 true 来跳过类型检查,以提升编译速度。然而,这种做法存在风险,可能会忽略掉一些应当被检测出的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值