IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> tsconfig.json的配置项 -> 正文阅读

[开发工具]tsconfig.json的配置项

学习地址:https://www.bilibili.com/video/BV1Xy4y1v7S2?p=1

{
  // tsconfig.json是ts编译器的配置文件,ts编辑器可以根据他的信息来对代码进行编译
  /*
  “include”用来指定那些ts文件需要被编译 可以为多个
  路劲 ** 表示任意目录 *表示任意文件
  */
  "include": [ // 包含
    "./src/**/*"
    // "./src1/**/index.ts"
  ],
   /*
    "exclude" 不需要被编译的文件目录
    默认值["node_modules", "bower_components", "jspm_packages"]
  */
  // "exclude": [ // 不包含
  //   "./src/app/*"
  // ],
  /*
    表示继承
    extends表示继承其他config.json文件里面的配置
    "extends": "./configs/base"表示当前配置文件中会自动包含config目录下base.json中的所有配置
  */
  // "extends": "./configs/base",
  /*
  被编译的文件列表(只有需要编译的文件少的时候才用的到)
  */
  // "files": [
  //   "wenjian1.ts",
  //   "wenjian2.ts",
  //   "..."
  // ],
  /*
  编译器的选项
  */
    "compilerOptions": {
    /*
      target :用来指定ts被编译成es的版本
      可选值为:'es3', 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'esnext'
      'esnext': 表示为最新版本
      */
      "target": "es6",
      /*
      module: 指定要使用的模块化规范(import export)
      可选值为:'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'esnext'
      */
      "module": "system",
      /*
        用来指定项目中用到的库例如document等(如果不是像做node项目那种只是做前端在项目一般不需要修改)
        可选值为:'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', 'es2015.symbol.wellknown', 
      'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 
      'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 
      'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 
      'es2019.string', 'es2019.symbol', 'es2020.bigint', 'es2020.promise', 'es2020.sharedmemory',
      'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2021.promise', 'es2021.string', 
      'es2021.weakref', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 
        'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref'
    */
      // "lib": ["dom"],
      /*
        outDir:文件编译之后的输出目录
        编译完成之后会创建dist目录变异的文件都会在这个目录下面
      */
      "outDir": "./dist",
      /*
        outFile:将编译的代码全放到这个指定的文件下
        设置outFile之后所有的编译之后的所有全局作用域文件都会放到这个文件里
        如果设置的模块化规范和代码使用的模块化规范不匹配则会报错
         Only 'amd' and 'system' modules are supported alongside --outFile.

40       "module": "commonjs",
      */
      "outFile": "./dist/index.js",
      /*
      allowJs: 是否对JS文件进行编译 
      默认是false 不编译JS文件 设置为true的话会编译JS文件
      */
      "allowJs": true,
      /*
      checkJs: 是否对JS文件语法进行编译 
      默认是false 不检查JS语法 设置为true的话会检查JS的语法
      在JS内部let a = 10; a = '11' 是可以的 如果设置为true则会报错
      */
      "checkJs": false,
       /*
        removeComments: 是否移除注释
        默认是false 不移除 设置为true的话ts文件内写的注释不会输出到编译之后的js文件中
        */
      "removeComments": false,
       /*
        noEmit:不生成编译之后的文件
        默认是false 生成编译之后的文件
         设置为true的话tsc命令编译之后不会生成编译之后的文件
         (一般用于语法检查不需要编译文件则会将这一项设置为true)
        */
      "noEmit": false,
      // 下述所有(包含不在这里的)严格检查均为true(下面的就可以不写了),如果需要设置为false的则需要单独设置
      "strict": true,
      /*
        noEmitOnError: 编译出错时不生成编译之后的文件
        默认是false  出错也会生成编译之后的文件
         设置为true的话tsc命令编译时如果报错了(语法错误或者其他错误等)不会生成编译之后的文件
        */
      "noEmitOnError": false,
      /*
        alwaysStrict: 用来指定编译之后的文件是否启用严格模式
        默认是false  不使用严格模式
        设置为true的话编译之后的js文件都是"use strict"模式 (import export这种模块化的文件默认都是严格模式)
        */
      "alwaysStrict": false,
      /*
        noImplicitAny: 不允许隐式的any
        默认是false  允许隐式的any function fn(a, b) {return a + b}是不会报错的 其中参数a、b均为隐式的any
       设置为true的话之前那种写法就会报错需要改为function fn(a:number, b:number) {return a + b} 这种指定类型
        */
      "noImplicitAny": false,
      /*
        noImplicitThis: 不允许不明确类型的this
        默认是false允许 function fn() {alert(this)}是不会报错的其中this就是指向不明的(和函数的调用方法有关)
       设置为true的话之前那种写法就会报错需要改为function fn(this:window) {alert(this)} 这种就不会报错
        */
      "noImplicitThis": false,
      /*
        strictNullChecks: 严格检查空值
        默认是false  不严格检查空值 如果某一个值可能为空还绑定了事件或者做了其他用则可能会导致报错
        设置为false这种写法 let box = document.getElementById('box')
            box.addEventListener('click', function() {
              console.log(111)
            })不会报错
       设置为true的话就会严格检查需要加个判断
       box?.addEventListener('click', function() {
        console.log(111)
      })这样才不会报错
        */
      "strictNullChecks": false,
    }
}

没事多复习复习,知道每个配置的含义,目前我公司项目中都没有用到这么具体的

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-18 16:11:43  更:2021-12-18 16:13:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/25 0:34:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计