新闻详情

新闻详情

首页 / 资讯中心 / 详情

TypeScript - TypeScript 编译选项

发布时间:2026/11/6 20:40:13来源:尧图网络
TypeScript - TypeScript 编译选项
一、自动编译文件编译 TS 文件时使用 -w 指令后TS 编译器会自动监视文件的变化并在文件发生变化时对文件进行重新编译tsc 【TS 文件】 -w二、配置文件如果直接使用 tsc 指令则可以自动将当前项目下的所有 TS 文件编译为 JS 文件但是能直接使用 tsc 指令的前提是要先在项目根目录下创建一个 TS 的配置文件 tsconfig.json生成tsconfig.json文件的方式运行指令tsc --init它会在当前目录生成一个带注释的tsconfig.json模板文件tsconfig.json文件的 exclude 默认情况下会排除node_modules、bower_components、jspm_packages、outDir目录三、配置选项tsconfig.json 是 TS 编译器的配置文件TS 编译器可以根据它的信息来对代码进行编译详细配置见官方文档https://www.tslang.cn/docs/handbook/compiler-options.html1、include定义希望被编译的文件所在的目录默认值[“**/*”]include:[./src/**/*]2、exclude定义需要排除在外的目录默认值[“node_modules”, “bower_components”, “jspm_packages”]exclude:[./src/hello/**/*]3、extends定义被继承的配置文件extends:./configs/base4、files定义被编译文件的列表只有需要编译的文件较少时才会用到files:[demo1.ts,demo2.ts,demo3.ts,demo4.ts,demo5.ts]5、compilerOptions1target设置 TS 代码编译的目标版本可选值ES3默认、ES5、ES6/ES2015、ES7/ES2016、ES2017、ES2018、ES2019、ES2020、ESNextcompilerOptions:{target:ES6}设置一个错误的目标版本后进行编译控制台会提示相应的目标版本tsconfig.json:5:19 - error TS6046: Argument for --target option must be: es3, es5, es6, es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, esnext.2module设置编译后代码使用的模块化系统可选值CommonJS、UMD、AMD、System、ES2020、ESNext、NonecompilerOptions:{module:CommonJS}设置一个错误的模块化系统后进行编译控制台会提示相应的模块化系统tsconfig.json:6:19 - error TS6046: Argument for --module option must be: none, commonjs, amd, system, umd, es6, es2015, es2020, es2022, esnext, node16, nodenext.3lib指定代码运行时所包含的库一般不需要修改可选值ES5、ES6/ES2015、ES7/ES2016、ES2017、ES2018、ES2019、ES2020、ESNext、DOM、WebWorker、ScriptHost…compilerOptions:{lib:[ES6,DOM]}设置一个错误的库控制台会提示相应的库tsconfig.json:7:17 - error TS6046: Argument for --lib option must be: es5, es6, es2015, es7, es2016, es2017, es2018, es2019, es2020, es2021, es2022, 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.date, es2020.promise, es2020.sharedmemory, es2020.string, es2020.symbol.wellknown, es2020.intl, es2020.number, es2021.promise, es2021.string, es2021.weakref, es2021.intl, es2022.array, es2022.error, es2022.intl, es2022.object, es2022.string, esnext.array, esnext.symbol, esnext.asynciterable, esnext.intl, esnext.bigint, esnext.string, esnext.promise, esnext.weakref.4outDir编译后文件的所在目录默认情况下编译后的 JS 文件会和 TS 文件位于同级目录设置 outDir 后可以改变编译后文件的位置compilerOptions:{outDir:dist}5outFile将所有的文件编译为一个 JS 文件将所有的编写在全局作用域中的代码合并为一个 JS 文件如果 module 制定了 None、System 或 AMD 才会将模块一起合并到文件之中compilerOptions:{outFile:./dist/main.js}6allowJs是否对 JS 文件编译主要搭配 checkJs 一同使用默认值falsecompilerOptions:{allowJs:true}7checkJs是否对 JS 文件进行检查主要搭配 allowJs 一同使用默认值falsecompilerOptions:{checkJs:true}8removeComments是否删除注释默认值falsecompilerOptions:{removeComments:true}9noEmit不生成编译后的文件主要针对于只想使用 TS 语法进行检测默认值falsecompilerOptions:{noEmit:true}10noEmitOnError当有错误时不生成编译后的文件默认值falsecompilerOptions:{noEmitOnError:true}11alwaysStrict设置编译后的文件是否使用严格模式默认值falsecompilerOptions:{alwaysStrict:true}12noImplicitAny是否禁止隐式的 any 类型默认值falsecompilerOptions:{noImplicitAny:true}隐式的 any 类型functiongetSum(a,b){returnab;}非隐式的类型functiongetSum(a:number,b:number){returnab;}13noImplicitThis是否禁止不明确类型的 this默认值falsecompilerOptions:{noImplicitThis:true}不明确类型的 thisfunctionhi(){console.log(this);}明确类型的 thisfunctionhi(this:Window){console.log(this);}14strictNullChecks是否严格的检查空值默认值falsecompilerOptions:{strictNullChecks:true}下例代码中的 box 可能为 nullletboxdocument.querySelector(box);box.addEventListener(click,function(){console.log(Hello World);});确保 box 不是 nullletboxdocument.querySelector(box);if(box!null){box.addEventListener(click,function(){console.log(Hello World);});}15strict是否启用所有的严格检查一半书写位置靠前默认值truecompilerOptions:{strict:true}
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/6 6:37:16

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/6 0:32:51

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/6 1:10:54

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/6 17:25:36

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/6 14:29:05

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/6 14:29:07

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉