| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> TypeScript 编译选项之tsconfig.json -> 正文阅读 |
|
[JavaScript知识库]TypeScript 编译选项之tsconfig.json |
TypeScript 编译选项之tsconfig.json文章目录
tsconfig.json 是
ts 编译器的配置文件,
ts 编译器是根据这个配置文件来进行编译代码的,一般我们会把
tsconfig.json 这个文件,放在工程的根目录下,所以可以通过
tsconfig.json 来界定根目录.
选项配置详解
1. files数组类型,指定被编译的文件列表,只有需要编译少量文件才会用到。
2. include数组类型,用来指定,哪些文件需要被编译
表示需要编译当前目录下的
上述配置,是可以精确到相应目录和文件,指定来编译,如果我们不需要指定特定的某文件时,可以直接指定其根目录进行编译,就不用那么麻烦,比如直接指定
3. exclude数组类型,用来指定不需要被编译的文件,默认排除
同
4. extends字符串类型,用于指定另外的配置文件路径,来继承这个配置文件里的配置,原文件配置会先被加载,如果有指定继承文件,继承文件会重写原文件里同属性的配置。比如:我想抽离一个
5. compilerOptions对象类型,设置编译的选项。里面包含非常多的配置,也是
下面我们来详细列举 5.1 target字符串类型,用来指定
示例:
5.2 module字符串类型,用来指定使用模块化规范的标准,关于模块化规范的理解可以参考这里,相关模块化标准有如下几个选项可以配置:
示例:
5.3 lib数组类型,用于指定项目中需要使用到的库,目前有可以引用的库有如下选择
说明一下,我们在浏览器端,如果要使用 示例:
5.4 outDir字符串类型,用于指定编译后的文件存放的目录位置,一般我们会指定为
5.5 outFile字符串类型,用于将编译后的代码合并成一个文件,比如设置为: 设置
5.6 allowJs布尔类型,表示是否对
5.7 checkJs布尔类型,表示是否对
5.8 removeComments布尔类型,表示是否移除编译后的文件中的注释。默认为false,也就是不删注释。
5.9 noEmit布尔类型,表示不生成编译文件,默认为false,也就是默认生成编译文件,一般很少用,用到的场景最多也就是:比如我只是需要检查代码是否能编译通过,不需要运行,可以直接设置true
5.10 noEmitOnError布尔类型,表示发生错误时,不生成任何文件,默认为false。一般场景是:消除潜在的编译危险,比如编译错误了,就不生成编译文件
5.11 alwaysStrict布尔类型,表示编译后的文件,是否开启严格模式(
5.12 noImplicitAny布尔类型,表示不允许隐式的any出现,默认为false。会有潜在的风险,比如,如下代码:
其中a和b的声明,没有指定类型,这里就是默认的隐式any,我这里明明是求和,后面如果传进来的有字符串,那么就是字符串相加,很明显就会出现问题,所以要避免这种情况,可以设置
5.13 strictNullChecks布尔类型,表示不允许把null和undefined赋值给其他变量,也就是检测变量为空的情况,如果设置允许情况下,如下代码:
5.14 strict布尔类型,表示是否启动所有的类型检查,一般在配置文件中,我们放在配置文件的顶端,因为它表示着,如果一旦开启,所有下面所有的严格模式下的检查,都会打开
5.15 sourceMap布尔类型,表示是否生成
5.16 noUnusedParameters布尔类型,用于检测在函数的形参是否存在未使用的情况
5.17 noUnusedLocals布尔类型,用于检测在函数内部(不包含函数的形参)是否存在未使用的参数
开启后,如果没有检测到未使用的参数,编译时会报错,不过以上2种情况,我们一般会通过 5.18 experimentalDecorators布尔类型,用于指定是否开启实验性(目前只是提案)的装饰器功能
在ts项目中,我们经常会使用到装饰器功能,有了装饰器,会方便很多,但是如果不开启这属性,我们将无法在项目中使用装饰器,我们在使用的时候,需要和下面这个属性一起使用 5.19 emitDecoratorMetadata布尔类型,用于指定是否为装饰器提供元数据支持,关于元数据,也是
5.20 esModuleInterop布尔类型,用于通过导入内容创建命名空间,实现
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 1:14:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |