TypeScript 编译配置
TypeScript的编译配置:
对单独一个ts文件进行监听编译 可使用tsc demo.ts -w
如果想对所有ts文件进行监听编译,监听到变化就自己编译,可以直接创建一个tsconfig.json文件。内容空着也OK:{},执行 tsc 或 tsc -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
相关文章:
TypeScript 编译配置
TypeScript的编译配置: 对单独一个ts文件进行监听编译 可使用tsc demo.ts -w 如果想对所有ts文件进行监听编译,监听到变化就自己编译,可以直接创建一个tsconfig.json文件。内容空着也OK:{},执行 tsc 或 tsc -w 如果有…...
使用DMA传输实现单片机高效串口转发——以STM32系列为例
使用DMA传输实现单片机高效串口转发——以STM32系列为例 DateAuthorVersionNote2023.08.06Dog TaoV1.01. 完成了文档的撰写。 文章目录 使用DMA传输实现单片机高效串口转发——以STM32系列为例应用场景实现流程源码示例串口与中断配置DMA外设配置DMA发送数据函数串口中断服务函…...
一文了解 Android Auto 车载开发~
作者:牛蛙点点申请出战 背景 我的的产品作为一个海外音乐播放器,在车载场景听歌是一个很普遍的需求。在用户反馈中,也有很多用户提到希望能在车上播放音乐。同时车载音乐也可以作为提升用户消费时长一个抓手。 出海产品,主要服务…...
Pixel4 安卓源码及内核修改编译教程 | 基于Android12 AOSP
之前整理了 Pixel4上的源码过程,下载的话大家可以去镜像网站下载,可以节约很多时间。 实验设备:Ubuntu18.04 32G2T Pixel4 文章目录 一、安卓源码下载1.准备下载环境(1)安装Python 3.9(2)安装g…...
如何做好Code Review
本文主要从我们为什么需要CR?CR面临哪些挑战?CR的最佳实践几个方面分析,希望可以给读者一些参考。 为什么需要CR? 代码质量 定性来看,大家都认可Code Review(后文简称CR)能显著改善代码质量&…...
Unity技术框架集合、Unity技术栈汇总
引擎技术尝试 [Animancer-Pro] (https://assetstore.unity.com/packages/tools/animation/animancer-pro-116514) (基于Playable的简单强大的动画解决方案)[ProBuilder/UModeler] (https://assetstore.unity.com/packages/tools/modeling/umodeler-80868) (快速关卡原型构建…...
安卓SDK开发的一些疑问
目前,公司需要开发一套iOS和安卓的sdk,主要包含蓝牙管理、网络请求、倒计时等方案执行、蓝牙数据交互等功能。之前没有过开发安卓sdk的经历,写个笔记用以记录。 现在iOS sdk已经写了一部分,安卓开发我也习惯从iOS的角度类比来开发…...
【基础类】—三栏页面布局的方案和优缺点
一、假设高度已知,中间宽度自适应,三栏(列)布局的方案有哪些? float浮动、absolute绝对定位、flex弹性盒子、table表格布局、grid网格布局 浮动 float <style>* {margin: 0;padding: 0;}.container {width: 1…...
OPENCV C++(四)形态学操作+连通域统计
形态学操作 先得到一个卷积核 Mat kernel getStructuringElement(MORPH_RECT,Size(5,5)); 第一个是形状 第二个是卷积核大小 依次为腐蚀 膨胀 开运算 闭运算 Mat erodemat,dilatemat,openmat,closemat;morphologyEx(result1, erodemat, MORPH_ERODE, kernel);morphologyEx…...
tomcat上部署jpress
一.确保有jdk,tomcat和mysql环境 二.新建jpress数据库,新建jpress用户并赋予所有权限 三.将jpress的war上传到tomcat/apache-tomcat-8.5.70/webapps,具体根据你的实际tomcat安装路径为准,上传完成后他会自己解包 四.到浏览器完…...
篇十:外观模式:简化复杂系统
篇十:“外观模式:简化复杂系统” 开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/。 另外有2本不错的关于设计模式的资料,分…...
linux gcc __attribute__
__attribute__ 1. 函数属性1.1 __attribute__((noreturn))1.2 __attribute__((format))1.3 __attribute__((const)) 2. 变量属性2.1. __attribute__((aligned))2.2. __attribute__((packed)) 3. 类型属性 __attribute__ 是 GCC 编译器提供的一种特殊语法,它可以用于…...
【SpringCloud】RabbitMQ基础
1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应,…...
css, resize 拖拉宽度
效果如下: 可直接复制预览查看属性值: 关键样式属性: resize: horizontal; overflow-x: auto; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content…...
Python识别抖音Tiktok、巨量引擎滑块验证码识别
由于最近比较忙,所以本周搞了一个相对简单的验证码,就是抖音Tiktok的滑块验证码,这也是接到客户的一个需求。这种验证码通常在电脑端登录抖音、巨量引擎的的时候出现。 首先看一下最终的效果: 验证码识别过程 1、利用爬虫采集图…...
EvilBox One靶场笔记
EvilBox: One靶场笔记 信息收集 先fscan找主机192.168.1.102 namp扫端口 开放80,22端口 然后扫目录 └─$ gobuster dir -r -u http://192.168.1.102/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,bak,html在扫secret目录,找…...
shell脚本中的export无效
写了一段shell脚本: #!/bin/bash source Tools/simulation/gazebo-classic/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default export ROS_PACKAGE_PATH$ROS_PACKAGE_PATH:$(pwd) export ROS_PACKAGE_PATH$ROS_PACKAGE_PATH:$(pwd)/Tools/simulation/gazebo…...
前沿分享-鱼形机器人
可能并不太前沿了,是21年底的新闻了,但是看见了就顺便发一下吧。 大概就是,通过在pH响应型水凝胶中编码不同的膨胀速率而构建了一种环境适应型变形微机器人,让微型机器人直接向癌细胞输送药物从而减轻药物带来副作用。 技术原理是,…...
摄像机终端IP地址白名单配置流程
海康摄像头配置白名单流程 1.登录海康摄像机前端 2.进入配置-系统-安全管理-IP地址过滤 3.IP地址过滤方式选择“允许” 4.点击添加按钮输入对应的IP地址或者IP网段 5.最后勾选启用IP地址过滤,然后保存 大华摄像头配置白名单流程 1.登录大华摄像机前端 2.进入设…...
Glibc—查看版本
方式1:直接查看ldd版本 ldd --versionldd (Buildroot) 2.30 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
