• typescript ts基础知识之tsconfig.json配置选项


    tsc xxx.ts  // 编译xxx.ts文件

    tsc xxx.ts -w  // 编译并监视xxx.ts文件

    tsc // 编译所有ts文件,前提是存在tsconfig.json

    tsc -w  // 编译并监视所有ts文件,前提是存在tsconfig.json

    tsconfig.json是ts的配置文件,里边可以写注释,其常用配置选项如下:

     1. include:定义希望被编译文件所在目录,默认值为['**/*'],**表示任意目录,*表示任意文件

    "include": [ "./src/**/*" ]

    2. exclude:不需要被编译的文件目录,默认值为["node_modules", "bower_components", "jspm_packages"]

    "exclude": [ "./src/hello/**/*" ]

    3.extends:定义被继承的配置文件,将不想重复写的配置项引入进来

    "extends": "./configs/base"

    4. files:指定被编译文件的列表,编译文件较少时适用

    1. "files": [
    2. "core.ts",
    3. "tsc.ts",
    4. ...
    5. ]

    5. compilerOptions 编译器的选项

    1. "compilerOptions": {
    2. "target": "ES3", //用来指定ts被编译为的es的版本,值为es版本(见下方标注)
    3. "module": "commonjs", //指定要使用的模块化的规范(值见下方标注)
    4. "lib": ["es6", "dom"], //用来指定项目中要用的库,前端运行代码不需要改变其默认值
    5. "outDir": "./dist", //指定编译后文件所在的目录
    6. "outFile": "./dist/app.js", //将代码合并为一个文件,所有的全局作用域中的代码会合并到一个文件中,若想合并多个模块,需要将module的值改为amdsystem,可以结合打包工具完成此功能
    7. "allowJs": false, //是否对js文件进行编译,默认是false
    8. "checkJs": false, //是否检查js代码是否符合语法规范,默认是false
    9. "removeComments": false, //是否移除注释
    10. "noEmit": true, //不生成编译后的文件,默认值是false
    11. "noEmitOnError": false, //当有错误时,不生成编译后的文件,默认false
    12. "strict": false, //所有严格检查的总开关,下方四个设置的总开关
    13. "alwaysStrict": false, //用来设置编译后的文件是否使用严格模式,默认false
    14. "noImplicitAny": false, //不允许隐式的any类型,默认false
    15. "noImlicitThis": false, //不允许不明确类型的this,默认false
    16. "strictNullChecks": false, //严格的检查空值
    17. }

    注:

    1.es目前版本值:'es3', 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext'

    2. module可用值为:'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'es2022', 'esnext', 'node16', 'nodenext'

    3. 当"noImlicitThis": true时

    function fn(this: Window){ console.log(this) }

    4. "strictNullChecks": true时

    let box = document.getElementById('box')

    box.addEventListener('click', function(){...})  //此时box报错,因为可能没有id为box的元素

  • 相关阅读:
    Springboot 之整合(Druid数据库连接池、PageHelper实现分页、Redis缓存)
    线性代数的学习和整理22:矩阵的点乘(草稿)
    c# .net 读取word文档文件,.txt、.doc、.docx、.xls、xlsx
    C语言 | Leetcode C语言题解之第187题重复的DNA序列
    带有无偏移国内源GeoQ的folium
    字节大佬打造1137页【数据结构与算法】神册!太香了
    基于Springboot实现商品进销存管理系统
    面试官:说说Netty对象池的实现原理?
    Java算法 每日一题(八) 编号206:反转链表
    Collections.addAll()和list.addAll()不同之处说明
  • 原文地址:https://blog.csdn.net/weixin_59128282/article/details/125632918