TypeScript 编译配置

TypeScript的编译配置:

对单独一个ts文件进行监听编译 可使用tsc demo.ts -w
如果想对所有ts文件进行监听编译,监听到变化就自己编译,可以直接创建一个tsconfig.json文件。内容空着也OK:{},执行 tsctsc -w
如果有相应的需求,可以在根目录下创建一个文件
tsconfig.json,在此文件中进行配置:

{/** tsconfig.json 是ts编译器的配置文件,ts编译器可以根据它的信息对代码进行编译* "include" 用来指定哪些ts文件需要被编译 * 	路径:** 表示任意目录* 		   * 表示任意文件* "exclude" 不需要被编译的文件目录* 	默认值:["node_modules","bower_components","jspm_packages"] * "extends" 定义被继承的配置文件 * "files" 指定被编译文件的列表 需要编译的文件少时可使用此选项* "compilerOptions" 编译器的选项* 	=======compilerOptions常用的配置项=======* 	"target" 用来指定ts被编译为ES的版本 具体值如下所示:* 	 es3,es5,es6,es2015,es2016,es2017,es2018,es2019,es2020,esnext* 	"module" 指定要使用的模块化的规范 值为以下所示:* 	none,commonjs,amd,syste,umd,es6,es2015,es2020,esnext* 	"lib" 用来指定项目中要使用的库 * 		如在node环境下,使用documen,可配置 一般不需要配置* 		(一般在浏览器运行,不需要处理) 可选值居多,dom,es6...* 	"outDir" 用来指定编译后文件所在的目录* 	"outFile" 将代码合并为一个文件  后期交给打包工具即可,只做了解* 		设置outFile后,所有全局作用域中的代码会合并到同一个文件中* 		注意:在想合并两个模块时,module要选择system/amd,否则会报错 * 		"module":"system" * 	"allowJs" 是否对js文件进行编译 默认为false* 	"checkJs" 是否检查js代码是否符合语法规范 默认为false* 	"removeComments" 是否移除注释 默认为false* 	"noEmit" 不生成编译后的文件 默认为false * 		若只想简单看下语法是否正确,不要编译后文件可写 noEmit:true* 	"noEmitOnError" 当有错误时不生成编译后的文件 * 		可避免有错误的代码编译到dist下文件中* 	=========compilerOptions 语法检查配置项===========* 	"strict" 所有严格检查的总开关* 	"alwaysStrict" 用来设置编译后的文件是否使用严格模式 默认为false	* 	"noImplicitAny" 不允许隐式的any类型 * 		如果设为true,代码中会对any类型的值进行提示* 	"noImplicitThis" 不允许不明确类型的this* 		可在代码中写function fn(this:Window){console.log(this)}* 			function fn(this:any){console.log(this)}	* 	"strictNullChecks" 严格的检查空值 * 		代码中可以写* 			let box1 = document.getElementByid('box1')* 			if(box1 !== null){* 				box1.addEventListener('click',function(){* 					console.log('hello')* 				})	* 			}* 			也可写为:* 				box1?..addEventListener('click',function(){* 					console.log('hello')* 				})	* */"include":["./src/**/*", // src目录下任意目录下的任意ts文件],"exclude":["./src/hi/**/*"],"extends":"./config/base" // 表示此配置文件会自动包含config文件下base.json中的配置信息"files": ["core.ts","tsc.ts"],"compilerOptions":{// 常用配置"target":"es2015", "module":"es2015",//"lib":["dom"],"outDir":"./dist","allowJs":true, "checkJs":false,"removeComments":true,"noEmit":false,"noEmitOnError":true,// 语法检查"strict":true,"alwaysStrict":true, // 如果有模块的引入时,文件会自动启用严格模式"noImplicitAny":true,"noImplicitThis":true,"strictNullChecks":true}
}

tsconfig.json 常用配置项:

  • “include” 用来指定哪些ts文件需要被编译

     路径:** 表示任意目录* 表示任意文件
    
  • “exclude” 不需要被编译的文件目录。

     默认值exclude:["node_modules","bower_components","jspm_packages"] 
    
  • “extends” 定义被继承的配置文件

  • “files” 指定被编译文件的列表 需要编译的文件少时可使用此选项

  • “compilerOptions” 编译器的选项

     ---------compilerOptions常用的配置项------"target" 用来指定ts被编译为ES的版本* 可选值如下:es3,es5,es6,es2015,es2016,es2017,es2018,es2019,es2020,esnext"module" 指定要使用的模块化的规范 值为以下所示:none,commonjs,amd,syste,umd,es6,es2015,es2020,esnext"lib" 用来指定项目中要使用的库 如在node环境下,使用documen,可配置 一般不需要配置(一般在浏览器运行,不需要处理) 可选值居多,dom,es6..."outDir" 用来指定编译后文件所在的目录"outFile" 将代码合并为一个文件  后期交给打包工具即可,只做了解设置outFile后,所有全局作用域中的代码会合并到同一个文件中注意:在想合并两个模块时,module要选择system/amd,否则会报错 "module":"system" "allowJs" 是否对js文件进行编译 默认为false"checkJs" 是否检查js代码是否符合语法规范 默认为false"removeComments" 是否移除注释 默认为false"noEmit" 不生成编译后的文件 默认为false 若只想简单看下语法是否正确,不要编译后文件可写 noEmit:true"noEmitOnError" 当有错误时不生成编译后的文件 可避免有错误的代码编译到dist下文件中-----compilerOptions 语法检查配置项----------"strict" 所有严格检查的总开关"alwaysStrict" 用来设置编译后的文件是否使用严格模式 默认为false	"noImplicitAny" 不允许隐式的any类型 如果设为true,代码中会对any类型的值进行提示"noImplicitThis" 不允许不明确类型的this可在代码中写function fn(this:Window){console.log(this)}function fn(this:any){console.log(this)}	"strictNullChecks" 严格的检查空值 代码中可以写let box1 = document.getElementByid('box1')if(box1 !== null){box1.addEventListener('click',function(){console.log('hello')})	}也可写为:box1?..addEventListener('click',function(){console.log('hello')})	
    

可参考网址:tsconfig.json

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

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

相关文章

虚拟机重启网络服务失败 Failed to start LSB:Bring up/down networking.

许久没有打开虚拟机了,今天一开打发现无法ping通网络 使用 ip addr 也获取不到ip信息 重启网络服务提示我 使用 systemctl status network.service 命令查看 出现以下报错 百度各种解决方案无效,才发现我为了加快电脑开机速度,把虚拟机的一些…

VR虚拟仿真技术在道路桥梁中有哪些具体应用?

虚拟现实(VR)是一种新兴的技术,可以为桥梁工程提供许多应用场景。以下是一些可能的应用场景: 1.桥梁设计和模拟 VR元宇宙可以用于桥梁的设计和模拟。工程师可以使用VR技术来创建桥梁的三维模型,并对其进行测试和优化。这可以帮助工程师更好地…

如何使用ONLYOFFICE+ffmpeg来给视频文件打马赛克

如何使用ONLYOFFICEffmpeg来给视频文件打马赛克 我这里之前写过很多关于ONLYOFFICE使用、安装的系列图文,也写过很多关于ffmpeg使用的图文,那么这次继续,把这两个开源软件放在一起,能碰撞出什么火花般的功能来。 这就是给视频文…

使用爬虫代理IP速度慢是什么原因?

你们有没有遇到过使用爬虫代理IP速度慢的问题呢?相信很多使用爬虫抓取的人都曾经陷入过这个烦恼,今天我们就来聊聊这个话题。 首先,我们得明白为什么爬虫代理IP速度会变得慢。其实,原因有很多,比如代理服务器过多的连接…

基于python雪花算法工具类Snowflake-来自chatGPT

import timeclass Snowflake:# 定义Snowflake算法的各个参数def __init__(self, worker_id: int, datacenter_id: int, sequence: int 0):# 计算位数self._worker_id_bits 5self._datacenter_id_bits 5self._sequence_bits 12# 定义位偏移量self._worker_id_shift self._s…

glut实现雪花动态效果

glut实现雪花动态效果 实验题目总体思路3.2主要函数说明按键操作实验结果 实验题目 1.绘制雪花 2.在屏幕的多个随机位置绘制雪花 3.使每朵雪花绕自己的中心旋转 4.使每朵雪花下降 5.翻页键控制相机视野,按UP键增加物体与观察者的距离,按DOWN键缩短。 …

Centos更换网卡名称为eth0

Centos更换网卡名称为eth0 已安装好系统后需要修改网卡名称为eth0 编辑配置文件将ens33信息替换为eth0,可在vim命令模式输入%s/ens33/eth0/g替换相关内容 修改内核文件,添加内容:net.ifnames=0 biosdevname=0 [root@nova3 ~]# vim /etc/default/grub 使用命令重新生成g…

LabVIEW使用DSA技术从X射线图像测量肺气容量

LabVIEW使用DSA技术从X射线图像测量肺气容量 相衬X射线(PCX)成像技术利用相邻介质之间折射率的微小差异来增强传统X射线成像通常不可见的物体的边界。事实证明,这一进展在一系列生物医学和材料科学中非常有益于材料表征、疾病检测以及解剖形…

Layui实现OA会议系统之会议管理模块总合

目录 一、项目背景 二、项目概述 1. 概述 2. 环境搭建 3. 工具类引用 4. 功能设计 4.1 会议发布 4.2 我的会议 4.3 会议审批 4.4 会议通知 4.5 待开会议 4.6 历史会议 4.7 所有会议 5. 性能优点 5.1 兼容性好 5.2 可维护性和可扩展性 5.3 轻量灵活 5.4 模块化设计…

QT - 建立页面

一、生成页面 二、实现 1.LineEdit 是一个单行输入文本框,为用户提供了比较多的编辑功能,例如选择复制、粘贴。 修改echomode属性为password Push Button(常规按钮) 三、程序 声明全局变量,属于MainWindow private: // 定义了一个指向Ma…

MySQL做分布式锁

分布式锁mysql实现方式 方式1:唯一索引 创建锁表,内部存在字段表示资源名及资源描述,同一资源名使用数据库唯一性限制。多个进程同时往数据库锁表中写入对某个资源的占有记录,当某个进程成功写入时则表示其获取锁成功其他进程由于…

配置root账户ssh免密登录并使用docker-machine构建docker服务

简介 Docker Machine是一种可以在多种平台上快速安装和维护docker运行环境,并支持多种平台,让用户可以在很短时间内在本地或云环境中搭建一套docker主机集群的工具。 使用docker-machine命令,可以启动、审查、停止、重启托管的docker 也可以…

vue使用拖拽功能实现仓库存放货物的需求

效果&#xff1a; 代码 <template><div><div class"bigTitle">xxxxxxxxxxxxxx仓库拖拽系统</div><div class"container2 flex-j-space-between"><div class"product-list"><div class"leftTree h…

ASP.NET中使用Entity Framework(EF)关联表查询

在ASP.NET中使用Entity Framework&#xff08;EF&#xff09;进行关联表查询的具体步骤如下&#xff1a; 配置数据库上下文&#xff08;DbContext&#xff09;&#xff1a;在DbContext派生类中&#xff0c;使用DbSet<T>属性表示每个实体对应的数据库表。确保每个实体类和…

TensorFlow

什么是 TensorFlow TensorFlow是一个开源的机器学习框架&#xff0c;由Google于2015年推出。它被设计用来构建深度神经网络和其他机器学习模型&#xff0c;从而可以实现图像识别、语音识别、自然语言处理、推荐系统、搜索引擎、预测和控制等应用。TensorFlow是一个基于数据流图…

【Spring框架】Spring AOP

目录 什么是AOP&#xff1f;AOP组成Spring AOP 实现步骤Spring AOP实现原理JDK Proxy VS CGLIB 什么是AOP&#xff1f; AOP&#xff08;Aspect Oriented Programming&#xff09;&#xff1a;⾯向切⾯编程&#xff0c;它是⼀种思想&#xff0c;它是对某⼀类事情的集中处理。⽐如…

【Jenkins】Jenkins 安装

Jenkins 安装 文章目录 Jenkins 安装一、安装JDK二、安装jenkins三、访问 Jenkins 初始化页面 Jenkins官网地址&#xff1a;https://www.jenkins.io/zh/download/ JDK下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/ 清华源下载RPM包地址&#xff…

golang使用泛型实现mapreduce操作

1.使用面向对象的方式写 package streamimport ("fmt""log""reflect""sort""strconv""strings" )type Stream[T any] struct {data []TkeyBy stringsortByNum stringsortByStr []string }func FromElem…

数据资产管理和数据治理是什么关系?

数据治理和数据资产管理 数据治理的目的就是让数据更准确、一致、完整、安全、可用&#xff0c;降低总体拥有成本&#xff1b; 数据资产管理就是在数据治理的基础上&#xff0c;对数据资产的行程、确权、价值评估等相关活动进行管理的过程&#xff1b; 数据资产经营是在数据…

【Excel】记录Match和Index函数的用法

最近一直用到的两个处理EXCEL表格数据的函数向大家介绍一下&#xff0c;写这篇博文的目的也是为了记录免得自己忘记了&#xff0c;嘻嘻。 先上百度的链接 Match函数的用法介绍&#xff1a;https://jingyan.baidu.com/article/2fb0ba40b4933941f3ec5f71.html 小结&#xff1a;…