一、自动编译文件编译 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}
企业数字化 ERP 产品动态
相关推荐
基于STM32H743IIK6的以太网传感器网关与数据记录方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 6:56:00
form组件 开始界面显示如下图所示,此时光标自动出现在第一个输入框中,并在屏幕下方弹出数字键盘在三个输入框中输入数据,数据满足三角形的构成规则(任意两条边的长度之和大于第三条边的长度),点击 计算 按钮… · 2026/9/24 6:56:00
线激光3D相机点云处理三道断层:协议、坐标与质量 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 6:55:54
产业的变革 城市交通长期面临三大结构性难题:人为驾驶事故率高、通勤拥堵治理难度大、公共交通与货运行业人力成本持续攀升。传统辅助驾驶技术依赖大量人工接管,无法从根本上解决疲劳驾驶、注意力分散、路况预判不足等安全问题,同时分层式自动驾驶架构算… · 2026/9/24 7:50:04
ChameleonUltra侦测实战:全加密M1卡密钥恢复与复制全流程 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 7:50:04
医疗数据采集怕踩红线?Python合规抓取公开病历与疾病趋势分析全流程 做医疗相关数据分析或者公共卫生研究的朋友,应该都遇到过数据难题:想做疾病趋势分析,却不知道哪些数据能合法采集,要么找不到公开数据源,要么怕一不小心触碰患者隐私红线。网上很多教程一上来就教爬医院系统࿰… · 2026/9/24 7:50:04
GSEA结果解读与完整分析流程:从基因排序到上下调通路识别 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 7:49:52
分治法的递归实现 分治法的递归实现
一. 分治思想
分治法核心:分、治、合
分:将大问题拆分为多个结构相同的子问题治:递归求解子问题,子问题足够小时直接返回(递归出口)合:合并子问题的解,得到原问题结… · 2026/9/24 7:49:33
汇川IS620伺服调试实战:InoServoShop连接、参数监控与备份全攻略 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 7:49:21
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44