typeScript学习笔记day02——小肉包

typeScript学习笔记

class3 : 2021.02.24

一、TS编译选项

  • 自动编译文件

    • 编译文件时,使用-w指令后,YS编译器会自动监视文件变化,并在文件发生变化时对文件进行重新编译。

    • 示例:tsc xxx.ts -w

  • 自动编译整个项目

    • 如果直接使用tsc指令,则可以自动将当前项目下所有ts文件编译为JS文件;

    • 但是能直接使用tsc指令的前提是,要先在项目的根目录下创建一个ts的配置文件tsconfig.json;

    • tsconfig.json是一个json文件,ts编译器可以根据配置文件里的相关配置来对代码进行编译,添加配置文件后,只需要tsc命令即可完成对整个项目的编译

    • 部分配置选项

      • {
            /* include 表示包含,用来指令哪些TS文件需要被编译
            *编译项目根目录下的src文件夹下的所有文件夹中的所有文件,**表示所有文件夹,*表示所有文件
            */
            "include": [
                "./src/**/*"
            ],
            /* exclude 表示排除,用来指令哪些TS文件和目录不需要被编译
            */
            "exclude": [
                "./src/hello/**/*",
                "node_modules",
                "bower_components"
            ],
            /* extends 定义被继承的配置文件,例如还有一个配置文件,那个配置文件里的代码在这里都可以复用,但是此处又不想再写一遍,就可以使用继承功能。
            */
            "extends": "./configs/base",
        
            /* files 功能跟include类似,区别是include可以直接设置目录,files是直接把一个一个的文件名列举出来。一般不使用这个功能,因为当项目比较庞大时,
            *文件很多,而且可能会存在重名的文件
            */
            "files": [],
            
             //compilerOptions  编译器的选项,决定了编译器如何对文件进行编译
            "compilerOptions": {
                //指定ts文件被编译成js的的ES版本,默认是ES3,可选:"es3" ,"es5" ,"es6" 	      ,"es2015" ,"es2016" ,"es2017" ,"es2018" ,"es2019" ,"es2020" ,"esnext" 
                "target": "es6",
                //模块化规范的版本  module”选项的参数必须为 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'esnext'。
                "module": "system",
                //lib用来指定项目中要使用的库,一般不设置,使用默认值 可选:'ES5', 'ES6', 'ES2015', 'ES7', 'ES2016', 'ES2017', 'ES2018', 'ESNext', 
                /*'DOM', 'DOM.Iterable', 'WebWorker', 'ScriptHost', 'ES2015.Core', 'ES2015.Collection', 'ES2015.Generator', 'ES2015.Iterable', 
                *'ES2015.Promise', 'ES2015.Proxy', 'ES2015.Reflect', 'ES2015.Symbol', 'ES2015.Symbol.WellKnown', 'ES2016.Array.Include', 'ES2017.object', 
                *'ES2017.Intl', 'ES2017.SharedMemory', 'ES2017.String', 'ES2017.TypedArrays', 'ES2018.Intl', 'ES2018.Promise', 'ES2018.RegExp', 
                *'ESNext.AsyncIterable', 'ESNext.Array', 'ESNext.Intl', 'ESNext.Symbol'. Requires
                */
                "lib": [
                    "ES6",
                    "ES2015"
                ],
                //outDir用来指定编译后文件所在目录
                "outDir": "./dist",
                //outFile 将代码合并为一个文件  要合并时,module仅支持 "amd" 和 "system" 模块
                "outFile": "./dist/app.js",
                //allowJs 是否要编译JS文件,默认为false   
                "allowJs": false,
                //checkJs 是否要检查JS语法,默认为false 
                "checkJs": false,
                //removeComments编译后是否移除注释
                "removeComments": false,
                //noEmit 不生成编译后的文件
                "noEmit": true,
                //noEmitOnError 报错时不生成编译后的文件
                "noEmitOnError": true,
                //strict 严格检查的总开关,只要这个设置为true时,其他的严格检查选项默认为true,就可 以不写,需要把哪一项设置为false可以再设置
                "strict": true,
                 //alwaysStrict 用来设置编译后的文件是否使用严格模式,默认false
                "alwaysStrict": false,
                //noImplicitAny 不允许隐式any类型
                "noImplicitAny": false,
                //noImplicitThis 不允许使用不明确类型的this
                "noImplicitThis": false,
                //strictNullChecks 严格的检查空值
                "strictNullChecks": false,
                ...
            }
        }
        
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值