第十四章 TypeScript tsconfig.json配置文件

 生成tsconfig.json 文件

这个文件是通过tsc --init命令生成的

配置详解

"compilerOptions": {"incremental": true, // TS编译器在第一次编译之后会生成一个存储编译信息的文件,第二次编译会在第一次的基础上进行增量编译,可以提高编译的速度"tsBuildInfoFile": "./buildFile", // 增量编译文件的存储位置"diagnostics": true, // 打印诊断信息 "target": "ES5", // 目标语言的版本"module": "CommonJS", // 生成代码的模板标准"outFile": "./app.js", // 将多个相互依赖的文件生成一个文件,可以用在AMD模块中,即开启时应设置"module": "AMD","lib": ["DOM", "ES2015", "ScriptHost", "ES2019.Array"], // TS需要引用的库,即声明文件,es5 默认引用dom、es5、scripthost,如需要使用es的高级版本特性,通常都需要配置,如es8的数组新特性需要引入"ES2019.Array","allowJS": true, // 允许编译器编译JS,JSX文件"checkJs": true, // 允许在JS文件中报错,通常与allowJS一起使用"outDir": "./dist", // 指定输出目录"rootDir": "./", // 指定输出文件目录(用于输出),用于控制输出目录结构"declaration": true, // 生成声明文件,开启后会自动生成声明文件"declarationDir": "./file", // 指定生成声明文件存放目录"emitDeclarationOnly": true, // 只生成声明文件,而不会生成js文件"sourceMap": true, // 生成目标文件的sourceMap文件"inlineSourceMap": true, // 生成目标文件的inline SourceMap,inline SourceMap会包含在生成的js文件中"declarationMap": true, // 为声明文件生成sourceMap"typeRoots": [], // 声明文件目录,默认时node_modules/@types"types": [], // 加载的声明文件包"removeComments":true, // 删除注释 "noEmit": true, // 不输出文件,即编译后不会生成任何js文件"noEmitOnError": true, // 发送错误时不输出任何文件"noEmitHelpers": true, // 不生成helper函数,减小体积,需要额外安装,常配合importHelpers一起使用"importHelpers": true, // 通过tslib引入helper函数,文件必须是模块"downlevelIteration": true, // 降级遍历器实现,如果目标源是es3/5,那么遍历器会有降级的实现"strict": true, // 开启所有严格的类型检查"alwaysStrict": true, // 在代码中注入'use strict'"noImplicitAny": true, // 不允许隐式的any类型"strictNullChecks": true, // 不允许把null、undefined赋值给其他类型的变量"strictFunctionTypes": true, // 不允许函数参数双向协变"strictPropertyInitialization": true, // 类的实例属性必须初始化"strictBindCallApply": true, // 严格的bind/call/apply检查"noImplicitThis": true, // 不允许this有隐式的any类型"noUnusedLocals": true, // 检查只声明、未使用的局部变量(只提示不报错)"noUnusedParameters": true, // 检查未使用的函数参数(只提示不报错)"noFallthroughCasesInSwitch": true, // 防止switch语句贯穿(即如果没有break语句后面不会执行)"noImplicitReturns": true, //每个分支都会有返回值"esModuleInterop": true, // 允许export=导出,由import from 导入"allowUmdGlobalAccess": true, // 允许在模块中全局变量的方式访问umd模块"moduleResolution": "node", // 模块解析策略,ts默认用node的解析策略,即相对的方式导入"baseUrl": "./", // 解析非相对模块的基地址,默认是当前目录"paths": { // 路径映射,相对于baseUrl// 如使用jq时不想使用默认版本,而需要手动指定版本,可进行如下配置"jquery": ["node_modules/jquery/dist/jquery.min.js"]},"rootDirs": ["src","out"], // 将多个目录放在一个虚拟目录下,用于运行时,即编译后引入文件的位置可能发生变化,这也设置可以虚拟src和out在同一个目录下,不用再去改变路径也不会报错"listEmittedFiles": true, // 打印输出文件"listFiles": true// 打印编译的文件(包括引用的声明文件)
}// 指定一个匹配列表(属于自动指定该路径下的所有ts相关文件)
"include": ["src/**/*"
],
// 指定一个排除列表(include的反向操作)"exclude": ["demo.ts"
],
// 指定哪些文件使用该配置(属于手动一个个指定文件)"files": ["demo.ts"
]

介绍几个常用的

1.include
指定编译文件默认是编译当前目录下所有的ts文件

2.exclude
指定排除的文件

3.target
指定编译js 的版本例如es5  es6

4.allowJS
是否允许编译js文件

5.removeComments
是否在编译过程中删除文件中的注释

6.rootDir
编译文件的目录

7.outDir
输出的目录

8.sourceMap
代码源文件

9.strict
严格模式

10.module
默认common.js  可选es6模式 amd  umd 等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/763224.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然拼读-26个字母发音

自然拼读-26个字母发音 26个字母 Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz 元音和辅音 辅音 元音 单词 元音 Aa Ee Li Oo Uu 另外:Yy是半元音 辅音 Bb Cc Dd Ff Gg Hh Jj Kk Ll Mm Nn Pp Qq Rr Ss Tt Vv Ww X…

利用二分法求方程在某个范围内的根

问题描述: 利用二分法求方程在(-10,10)的根。 方法:先求出两端点的中点,然后将中点带入方程中检查是否等于0,如果等于0说明找到了根,如果大于0,说明根在左半部分,将rig…

Linux-网络层IP协议、链路层以太网协议解析

目录 网络层:IP协议地址管理路由选择 链路层 网络层: 网络层:负责地址管理与路由选择 — IP协议,地址管理,路由选择 IP协议 数据格式: 4位协议版本:4-ipv4协议版本 4位首部长度:以…

2024计算机二级Python 11和12

单向列表不能再回头,只有从头指针开始才可以,双向列表会出现重复访问,二叉树节点从根开始可以达到目的 面向对象的主要特征:抽象、封装、继承、多态 Python通过解释方式执行,执行速度没有采用编译方式的语言执行的快 f…

为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里?为什么他们必须在同步方法或者同步块中被调用?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里 线程通信的方法wait()、notify()和notifyAll()被定义在Object类中的原因是因…

如何理解35岁是道门槛

先抛出观点,35岁是道门槛纯粹是以讹传讹,加上媒体的大力宣传,给更多的人加上了思想枷锁。而这,仿佛成为一种共识。 据个人观察,35岁焦虑是从互联网大厂那边传出来的。但估计很多人没有思考过背后的逻辑。12~18年&…

混合像元分解:Matlab如何帮助揭示地表组成?

光谱和图像是人们观察世界的两种方式,高光谱遥感通过“图谱合一”的技术创新将两者结合起来,大大提高了人们对客观世界的认知能力,本来在宽波段遥感中不可探测的物质,在高光谱遥感中能被探测。以高光谱遥感为核心,构建…

c++21,22多肽

普通人买全价,学生半价 多肽 构成条件 1.虚函数重写 2.父类的指针或者引用去调用虚函数 两个virtual没有关联 函数前面增加virtual虚函数,p是父类的引用,既可以传父类对象也可以传子类对象 去掉引用(子类传给父类&#xff…

云手机为电商提供五大出海优势

出海电商行业中,各大电商平台的账号安全是每一个电商运营者的重中之重,账号安全是第一生产力,也是店铺运营的基础。因此多平台多账号的防关联管理工具成了所有电商大卖家的必备工具。云手机最核心的优势就是账户安全体系,本文将对…

linux系统----------MySQL索引浅探索

目录 一、数据库索引介绍 二、索引的作用 索引的副作用 (缺点) 三、创建索引的原则依据 四、索引的分类和创建 4.1普通索引 4.1.1直接创建索引 4.1.2修改表方式创建 4.1.3创建表的时候指定索引 4.2唯一索引 4.2.1直接创建唯一索引 4.2.2修改表方式创建 4.2.3创建表…

Go语言hash库完全教程:从基础到高级应用

Go语言hash库完全教程:从基础到高级应用 简介hash库概览hash接口常用的哈希函数实现应用场景性能特点字符串哈希计算 使用hash库进行数据哈希文件哈希计算 hash库在数据校验中的应用使用SHA256进行文件完整性验证 hash库在安全加密中的应用生成安全的密码哈希使用HM…

cmd窗口运行jar程序,点击一下cmd窗口后java程序就暂停了

cmd窗口运行jar程序时,在cmd窗口点击了一下,如果你选中了(页面会有个白色的选中内容),java程序就会暂停,这是只有按一下鼠标右键或着CtrlC才能取消选中,程序才会继续运行,如果java程…

学习笔记 | 微信小程序项目day06

今日学习内容 商品详情页 商品详情页 1、定义类型 import type { GoodsItem } from ./global/** 商品信息 */ export type GoodsResult {/** id */id: string/** 商品名称 */name: string/** 商品描述 */desc: string/** 当前价格 */price: number/** 原价 */oldPrice: nu…

视频素材库哪家好?我给大家来分享

视频素材库哪家好?这是很多短视频创作者都会遇到的问题。别着急,今天我就来给大家介绍几个视频素材库哪家好的推荐,让你的视频创作更加轻松有趣! 视频素材库哪家好的首选当然是蛙学网啦!这里有大量的高质量视频素材&am…

学成在线_视频处理_视频转码不成功

问题 当我们用xxljob进行视频处理中的转码操作时会发现视频转码不成功。即程序会进入下图所示的if语句内。 问题原因 在进行视频转码时程序会调用Mp4VideoUtil类下的 generateMp4方法,而result接收的正是该方法的返回值。那么什么时候generateMp4方法的返回值会…

基于转录组计算的肿瘤纯度与病理肿瘤纯度一致性差异

实体瘤组织由肿瘤和非肿瘤细胞组成,如基质细胞和免疫细胞。这些非肿瘤细胞构成肿瘤微环境(TME)的重要组成部分,可降低肿瘤纯度,并在癌变、恶性肿瘤进展、治疗耐药性和预后评估中发挥重要作用。 肿瘤间质比的预后影响 …

【数据结构】直接插入排序

大家好,我是苏貝,本篇博客带大家了解插入排序,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 一. 基本思想二. 插入排序详解(以升序为例)三. 对比冒泡排序 一. 基本…

Mysql数据库的SQL语言详解

目录 一、数据库的基础操作 1、数据库的基本查看和切换 1.1 查看数据库信息 1.2 切换数据库 1.3 查看数据库中的表信息 1.4 查看数据库或数据库中表的结构(字段) 1.5 数据类型 1.5.1 整数型 1.5.2 浮点型(float和double) 1.5.3 定点数 1.5.4…

Rust无法流行起来

Rust 据说是最安全的编程语言. 今天简单学习了一下,感觉并不是那么的容易接受. 根据我的经验, 凡是复杂的东西, 必然很难推广. 从设计上来说确实是挺安全的, 考虑的很多 . 但是我感觉Rust 编译器强制让程序员注意变量作用域的范围. 引入了很多奇奇怪怪的限制. 增加了思考的维度…

134. 加油站(力扣LeetCode)

文章目录 134. 加油站暴力枚举(超时)代码一代码二(优化) 贪心算法方法一方法二 134. 加油站 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加…