当前位置: 首页 > news >正文

TypeScript编译选项

编译单个文件:终端 tsc 文件名

自动编译单个文件:终端 tsc 文件名 -w

编译整个项目:tsc 前提是得有ts的配置文件tsconfig.json

自动编译整个项目:tsc --w 

tsconfig.json默认文件内容:

tsconfig.json是ts编译器的配置文件,ts编译器可以根据它的信息对代码进行编译。

注:路径  **表示所有目录 *表示所有文件

  • "includes":[ ] //"includes"用来指定哪些ts文件需要被编译。

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

  • "excludes":[ ] //不需要被编译的文件目录,可选项,可有可无。

默认值:["node_modules","bower_components","jspm_packages"]

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

  • "extends":[ ] //配置文件特别复杂时,引入继承其他的json配置文件。

"extends":["./config/base.json"]

  • "files":[ ]  //单个引入需要编译的文件,通常用在文件很少的情况。

"files":[ "core.ts","sys.ts","types.ts" ]

  • "compilerOptions":{ } // 编译器的选项

compilerOptions子选项:

1. "target":" "   //用来指定ts被编译为ES的版本

 "compilerOptions":{ "target":"ES3" } // ES3(默认)、ES5、ES6/ES2015、ES2017、ES2018、ES2019、ES2020、ESNext

2. "module":" " //指定要使用的模块化的规范

 "compilerOptions":{ "module":'es2015' } //CommonJS、ES6、UMD、AMD、System、ES2015、ES2020、ESNext、None 

3. "lib":[ ]  //用来指定项目中需要使用的库,一般情况下不对lib进行修改。

 "compilerOptions":{ "lib":["dom","es6"] }

4. "outDir':" "  //用来指定编译后文件所在的位置。

 "compilerOptions":{ "outDir":"./dist" }

5. "outFile':" " //用来将js代码合并为一个文件

设置outFile以后,所有全局作用域中ts编译出来的js代码会合并到一个js中,一般会导致不灵活

 "compilerOptions":{ "outFile":"./dist/app.js" }

7. "allowJs":false //是否对js文件进行编译,默认为false

8. "checkJs":fasle //是否检查js代码符合语法规范,默认为false

9. "removeComments":false //是否移除注释,默认为false

10. "noEmit":false //false:生成编译后的文件,true:不生成编译后的文件,默认为false

11. "noEmitOnError":false //true:当有错误的时候不生成编译后的文件,默认为false

12. "alwayScript":false //用来设置编译以后的js文件是否使用严格模式,默认为false

13. "noImplicitAny":false //是否允许出现隐式的any类型,默认为false

14. "noImplThis":false //是否允许不明确类型的this,默认为false

15. "strictNullChecks":false //是否严格的检查空值,默认为false

16. "strict":false //所有严格检查的总开关,默认为false

总结

自动编译文件

  1. 编译文件时,使用 -w 指令后,TS编译器会自动监视文件的变化,并在文件发生变化时对文件进行重新编译。
  2. 示例:

tsc xxx.ts -w 

自动编译整个项目

  1. 如果直接使用tsc指令有序列表,则可以自动当前项目下的所有ts文件编译为js文件。
  2. 但是能直接使用tsc命令的前提是,要先在项目根目录下创建一个ts的配置文件tsconfig.json。
  3. tsconfig.json是一个JSON文件,添加配置文件后,只需tsc命令即可完成对整个项目的编译。
  4. 配置选项
  • include 

定义希望被编译文件所在目录。

默认值:["**/*"]

示例:

"includes":["src/**/*","tests/**/*"] 

示例中,所有src目录和tests目录下的文件都会被编译。

  • excludes

定义需要排除在外的目录。

默认值:["node_modules","bower_components","jspm_packages"]

示例 :

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

示例中,src下hello目录下的全部文件都不会被编译。

  • extends

定义被继承的配置文件

示例

"extends":["./config/base"]

示例中,当前配置文件中会自动包含config目录下base.json中的所有配置信息。

  • files

指定被编译文件的列表,只有需要编译文件少时才会用到。

示例:

"files":[ "core.ts","sys.ts","types.ts" ]

列表中的文件都会被ts编译器所编译。

  • compilerOptions

编译选项是配置文件中非常重要也比较复杂的配置选项。

在compilerOptions中包含多个子选项,用来完成对编译的配置

常用项目选项:

1. target 

设置ts代码编译的目标版本

可选值: ES3(默认)、ES5、ES6/ES2015、ES2017、ES2018、ES2019、ES2020、ESNext

示例:

"compilerOptions":{ "target" : "ES6" }

编写的代码将会被编译成ES6版本的js代码。

2. lib

指定代码运行时包含的库(宿主环境)

可选值:ES3(默认)、ES5、ES6/ES2015、ES2017、ES2018、ES2019、ES2020、ESNext、DOM、WebWorker、ScriptHost......

示例:

"compilerOptions":{ "target" : "ES6","lib":["ES6","DOM"],"outDir":"dist","outFIle":"dist/aa.js" }

3. module

设置编译后代码使用的模块化系统。

可选值:CommonJS、UMD、AMD、System、ES2020、ESNext、None

示例:

"compilerOptions":{ "module" : "CommonJS" }

4. outDir

编译后的文件所在的目录。

默认情况下,编译后的js文件会和ts文件位于相同的位置,设置outDir可以改变编译后文件的位置。

 "compilerOptions":{ "outFile":"./dist/app.js" }

相关文章:

TypeScript编译选项

编译单个文件:终端 tsc 文件名 自动编译单个文件:终端 tsc 文件名 -w 编译整个项目:tsc 前提是得有ts的配置文件tsconfig.json 自动编译整个项目:tsc --w tsconfig.json默认文件内容: tsconfig.json是ts编译器的配…...

个推与华为深度合作,成为首批支持兼容HarmonyOS NEXT的服务商

自华为官方宣布HarmonyOS NEXT鸿蒙星河版开放申请以来,越来越多的头部APP宣布启动鸿蒙原生开发,鸿蒙生态也随之进入全新发展的第二阶段。 作为华为鸿蒙生态的重要合作伙伴,个推一直积极参与鸿蒙生态建设。为帮助用户在HarmonyOS NEXT上持续享…...

TypeScript开发100问?

开发人员在日常工作中常常需要处理各种各样的问题,而 TypeScript 作为 JavaScript 的一个超集,为我们提供了更加强大和可靠的工具来编写高质量的代码。在使用 TypeScript 进行开发时,我们可能会遇到各种各样的技术基础问题、开发过程中的挑战…...

数据结构和算法:栈与队列

栈 栈 &#xff08;stack&#xff09;是一种遵循先入后出逻辑的线性数据结构 把堆叠元素的顶部称为“栈顶”&#xff0c;底部称为“栈底”。 将把元素添加到栈顶的操作叫作“入栈”&#xff0c;删除栈顶元素的操作叫作“出栈”。 栈的常用操作 /* 初始化栈 */ stack<int&g…...

LeetCode(力扣)算法题_1261_在受污染的二叉树中查找元素

今天是2024年3月12日&#xff0c;可能是因为今天是植树节的原因&#xff0c;今天的每日一题是二叉树&#x1f64f;&#x1f3fb; 在受污染的二叉树中查找元素 题目描述 给出一个满足下述规则的二叉树&#xff1a; root.val 0 如果 treeNode.val x 且 treeNode.left ! n…...

Topaz DeNoise AI for Mac/Win:引领图片降噪新纪元,让你的照片焕然一新!

在数字化时代&#xff0c;摄影已成为我们记录生活、表达情感的重要方式。然而&#xff0c;随着摄影技术的不断发展&#xff0c;我们也不得不面对一个令人头疼的问题——图片噪点。无论是低光环境下的拍摄&#xff0c;还是高ISO带来的画质损失&#xff0c;噪点总是如影随形&…...

云计算OpenStack KVM迁移

动态迁移 static migration 静态迁移 cold migration 冷迁移 offline migration 离线迁移 live migration 动态迁移 hot migration 热迁移 online migration 在线迁移 衡量 整体迁移时间 服务器停机时间 性能影响(迁移后和其它客户机) 特点 负载均衡 解除硬件依赖…...

【漏洞复现】网康科技 NS-ASG 应用安全网关 SQL注入漏洞(CVE-2024-2330)

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…...

2024年华为OD机试真题-查找众数及中位数-Java-OD统一考试(C卷)

题目描述: 众数是指一组数据中出现次数量多的那个数,众数可以是多个。 中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以2,所得的结果就是中位数。 查找整型数…...

力扣思路题:重复的子字符串

注意比较j与j-i是否相同 bool repeatedSubstringPattern(char* s) {int i;int nstrlen(s);bool flag;for(int i1;i<n/2;i){if(n%i0){flagtrue;}for(int ji;j<n;j){if(s[j]!s[j-i]){flagfalse;break;}}if(flagtrue){return true;}}return false; }...

同城即配年度观察:顺丰同城率先全年盈利,行业破局迎参考

即时消费趋势增强&#xff0c;“万物到家即时可得”成为了消费新常态。这创造出不可忽视的场景潜力&#xff0c;也在无形中让龙头企业的发展质量走到突破点。 3月11日晚&#xff0c;“第三方即时配送第一股”顺丰同城发布公告称&#xff0c;预期实现2023年全年盈利&#xff0c…...

线上机器 swap 过高导致告警

哈喽大家好&#xff0c;我是咸鱼。 今天收到了一个告警&#xff0c;说有台服务器上的 swap 过高&#xff0c;已经用了 50% 以上了。 登录机器查看一下内存以及 swap 的使用情况。 [rootlocalhost ~]# free -h total used free shared buff/cache ava…...

案例分析篇13:系统分析与设计考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…...

算法(结合算法图解)

算法简介简单查找二分查找法 选择排序内存的工作原理数组和链表数组选择排序小结 递归小梗 要想学会递归&#xff0c;首先要学会递归。 递归的基线条件和递归条件递归和栈小结 快速排序分而治之快速排序合并排序时间复杂度的平均情况和最糟情况小结 散列表散列函数缓冲小结性能…...

Linux-多线程

目录 线程概念线程控制创建退出等待join实例detach实例 实例 线程安全概念互斥同步生产者与消费者模型实例 信号量 线程应用 线程概念 线程概念&#xff1a; 有一个零件加工工厂&#xff0c;工厂中有一个或多个工人 工人是干活的&#xff0c;工厂是集体设备资源的载体 进程就是…...

深入解析C++树形关联式容器:map、set及其衍生容器的使用与原理

文章目录 一、引言二、关联式容器的中的 paira.pair 的创建及使用b.pair 间的比较 三、 map 与 set 详解1. map 的基本操作2. set 的基本操作3.关联式容器的迭代器 四、 multimap 与 multiset 的特性五、关联式容器的使用技巧与注意事项1. 键值类型的选择与设计2. 自定义比较函…...

c++基础知识(一)

C字符集&#xff1a;通常将一个标准中能够表示所有字符的一个集合称为字符集。例如Unicode字符集、ASCll、GB2312、BIG5&#xff08;繁体中文及其相关字符&#xff09;等。 字符集是组成程序设计语言的基本要素。由单字符、关键字、标识符、运算符&#xff08;操作符&#xff…...

Midjourney绘图欣赏系列【人物篇】(一)

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子&#xff0c;它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同&#xff0c;Midjourney 是自筹资金且闭源的&#xff0c;因此确切了解其幕后内容尚不…...

2024 年 2 月 NFT 行业动态:加密货币飙升,NFT 市场调整

作者&#xff1a;stellafootprint.network 数据来源&#xff1a;NFT 研究页面 - Footprint Analytics 2024 年 2 月&#xff0c;加密货币与 NFT 市场显现出了复杂性。该月&#xff0c;NFT 领域的交易量达到 12 亿美元&#xff0c;环比下降了 3.7%。值得关注的是&#xff0c;包…...

【C++那些事儿】深入理解C++类与对象:从概念到实践(下)| 再谈构造函数(初始化列表)| explicit关键字 | static成员 | 友元

&#x1f4f7; 江池俊&#xff1a;个人主页 &#x1f525; 个人专栏&#xff1a;✅C那些事儿 ✅Linux技术宝典 &#x1f305; 此去关山万里&#xff0c;定不负云起之望 文章目录 1. 再谈构造函数1.1 构造函数体赋值1.2 初始化列表1.3 explicit 关键字 2. static成员2.1 概念…...

Win11Debloat:让Windows 11重获新生的系统调校工具

Win11Debloat&#xff1a;让Windows 11重获新生的系统调校工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and custo…...

老旧Mac终极重生指南:OpenCore Legacy Patcher完整教程

老旧Mac终极重生指南&#xff1a;OpenCore Legacy Patcher完整教程 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是一款强大的开源…...

trackerjacker硬件推荐:选择最佳无线网卡提升监控效果

trackerjacker硬件推荐&#xff1a;选择最佳无线网卡提升监控效果 【免费下载链接】trackerjacker Like nmap for mapping wifi networks youre not connected to, plus device tracking 项目地址: https://gitcode.com/gh_mirrors/tr/trackerjacker trackerjacker是一款…...

非开发者终于拥有了自己的“后台 AI 代理”

一位财务总监每周一都要花 90 分钟手动清洗 150 行 Excel 数据&#xff1a;去重、统一日期格式、把文字评级转成数字。 他明明知道 AI 能帮忙&#xff0c;却只在 Perplexity 里敲一句“帮我分析这份数据”&#xff0c;得到一段总结后就关掉标签&#xff0c;继续手动操作。 开发…...

CosyVoice语音生成效果对比:原声vs克隆声,几乎听不出区别

CosyVoice语音生成效果对比&#xff1a;原声vs克隆声&#xff0c;几乎听不出区别 1. 语音克隆技术的新高度 最近测试了CosyVoice语音克隆模型的效果&#xff0c;结果让我大吃一惊。这个由阿里巴巴通义实验室开发的语音生成模型&#xff0c;仅需3-10秒的参考音频就能克隆出几乎…...

双模型协作方案:OpenClaw同时调用Qwen3-14B与CodeLlama

双模型协作方案&#xff1a;OpenClaw同时调用Qwen3-14B与CodeLlama 1. 为什么需要双模型协作 去年我在处理一个技术文档自动生成项目时&#xff0c;发现单一模型很难同时满足文本润色和代码示例生成的需求。Qwen3-14B在自然语言处理上表现优异&#xff0c;但生成的代码片段常…...

S2-Pro低代码平台集成:为业务人员赋能AI能力

S2-Pro低代码平台集成&#xff1a;为业务人员赋能AI能力 1. 低代码遇上AI&#xff1a;业务创新的新机遇 想象一下&#xff0c;市场部的同事小李需要快速搭建一个智能客服系统来处理客户咨询。传统方式下&#xff0c;他需要找IT部门排期&#xff0c;等待开发团队写代码、调试模…...

SCH1633-D01 | 汽车6DoF传感器 |无人机惯性装置

SCH1633-D01 村田Murata 6DoF陀螺仪加速度传感器一体型 汽车用SCH1600传感器系列通过冗余设计选项和内置可调双输出通道为资深客户提供更大的灵活性。300/s的角速率测量范围8g的加速度测量范围冗余数字加速度计通道&#xff0c;动态范围高至26g陀螺仪零偏不稳定性低至0.5/h&am…...

RTX4090D性能实测:OpenClaw调用Qwen3-32B镜像的token消耗优化

RTX4090D性能实测&#xff1a;OpenClaw调用Qwen3-32B镜像的token消耗优化 1. 测试背景与设备环境 去年底入手RTX4090D显卡后&#xff0c;我一直想验证它在本地大模型推理场景的实际表现。最近在星图平台发现预置Qwen3-32B模型的优化镜像&#xff0c;正好配合OpenClaw做自动化…...

语燕输入法YuyanIme与其他主流输入法对比评测:7大核心优势深度解析

语燕输入法YuyanIme与其他主流输入法对比评测&#xff1a;7大核心优势深度解析 【免费下载链接】YuyanIme 语燕输入法-一款基于Rime定制开发的九键、全拼、双拼、手写、火星文等方案、支持悬浮、单手、数字行等键盘模式的中文输入法 项目地址: https://gitcode.com/gh_mirror…...