从零开始学习typescript系列2: typescript配置文件ts.config.js之详细解释

基本了解

tsconfig.json 是 ts 支持的配置文件

大体可以分为两个部分描述,

  • 第一部分:编译规则配置(compilerOptions),
  • 第二个部分:哪些文件进行编译(files,include,exclude)
{"compilerOptions": {},"files": [], "include": [],"exclude": [] 
}
# ts配置相关命令
tsc #  默认使用最近配置文件
tsc --all #   所有编译选项 
tsc --all  | grep "keyofStringsOnly" #  某一个编译选项 
tsc --init #  可以生产默认的配置文件

demo:常见配置

{// files: 适用于比较小型的项目,规定几个特定的文件// 将compilerOption的编译规则应用于index.ts下"files": ["index.ts"], // include: 所有src目录和test目录下的文件都会被编译"include":["src/**/*", "test/**/*"] // exclude: 不需要被编译的文件目录"exclude": [ "node_modules","dist","**/*.test.ts"], "compilerOptions": { // 用于抑制隐式 any 索引错误的报告。在ts5.5版本是废弃的属性    "suppressImplicitAnyIndexErrors": true,// 忽略废弃警告"ignoreDeprecations": "5.0", // 跳过对所有声明文件(.d.ts 文件)的类型检查// 跳过类型检查可能会隐藏潜在的类型不一致问题,建议仅在明确的情况下使用"skipLibCheck": true,// types: 告诉 ts 编译器要引入哪些第三方库或模块的类型声明// 当 TypeScript 编译器遇到使用 React 或 Lodash 的代码时,它会根据指定的类型声明文件进行类型检查和推断,以确保你的代码与这些库的 API 相符合。"types": ["react", "lodash"],// 没有设置baseUrl: import { example } from "./src/hello/world// 设置了baseUrl: import { example } from "hello/world"baseUrl": ".",// paths必须和baseUrl联合使用// 设置paths后:import from '@/components/Button'  import from  相当于  src/components/Button"paths": {"@/*": ["src/*"]},// lib: 引入ES功能库,如想在项目中用js中Set,Map,promise等,需引入es2015"lib": ["es6", "dom"],  //  编译成哪个版本的js,es3,es5,es6..."target": "es5",   // 哪个模块规范:  cjs,amd,umd,esm"module": "commonjs",  // 选择模块解析策略 比如 在node_modules中查找路径// 'node':  Node.js’ CommonJS implementation  =》 ts 社区最常用的,推荐大多数项目// 'node16' or 'nodenext': Node.js’ ECMAScript Module Support from TypeScript 4.7 onwards// 'classic': used in TypeScript before the release of 1.6. "moduleResolution": "node", "experimentalDecorators": true,  // 启用实验性的ES装饰器// 允许从没有设置默认导出的模块中默认导入// false: 必须 import * as React from 'react // true: 可以 import React from 'react'"allowSyntheticDefaultImports": true,   // sourceMap: 把 ts 文件编译成 js 文件的时候,同时生成对应的 map 文件"sourceMap": true,   "strict": true,  // 启用所有严格类型检查选项// noImplicitAny: 不允许用any,如果初学ts,建议项目部太复杂的情况下,可以借此来进行限制,前置自己培养对ts的理解 (实际情况不是)"noImplicitAny": true,  // 在表达式和声明上有隐含的 any类型时报错"alwaysStrict": true,  // 以严格模式检查模块,并在每个文件里加入 'use strict'"declaration": true,   // 生成相应的.d.ts文件// 删除编译后的所有的注释"removeComments": true,   "noImplicitReturns": true,  // 不是函数的所有返回路径都有返回值时报错"importHelpers": true,  // 从 tslib 导入辅助工具函数// typeRoots: 指定类型声明文件的根目录路径"typeRoots": ["./node_modules/@types/", // 这是个目录"./types" // 这是个目录],"outDir": "./dist","rootDir": "./src","keyofStringsOnly": false, },}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/745614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Opencascade基础教程(9):切换视图

1、切换视图 1、1 增加视图切换按钮,并添加消息响应函数。 void COCCDemoView::OnButtonFrontview() {//前视图m_View->SetProj(V3d_Yneg);m_View->FitAll(); }void COCCDemoView::OnButtonRearview() {//后视图m_View->SetProj(V3d_Ypos);m_View->Fit…

【华为Datacom数通认证】HCIA-HCIP-HCIE

华为认证课程概述 华为认证是华为技术有限公司(简称"华为")基于"平台生态"战略,围绕"云-管-端"协同的新ICT技术架构,打造的业界覆盖ICT领域最广的认证体系,包含"ICT技术架构认证"、"ICT开发者…

学习JAVA的二十二天(基础)

目录 网络编程 三要素: IP InetAddress类 端口号 协议 UDP协议 TCP协议 前言:学习JAVA的第二十一天(基础)-CSDN博客 网络编程 在网络通信协议下,不同计算机上运行的程序,进行的数据传输。 三要素:…

installation of package ‘RDocumentation’ had non-zero exit status

installation of package ‘RDocumentation’ had non-zero exit status Warning in install.packages :installation of package ‘httr’ had non-zero exit status Warning in install.packages :installation of package ‘openssl’ had non-zero exit status 由于项目需…

蓝桥杯(1):python排序

1 基础 1.1 输出 1.1.1 去掉输出的空格 print("Hello","World",123,sep"") print("hello",world,123,sep) print(hello,world,123) #输出结果 #HelloWorld123 #helloworld123 #hello world 123 1.1.2 以不同的方式结尾 print(&quo…

Ubuntu Flask 运行 gunicorn+Nginx 部署

linux Ubuntu 下运行python 程序出现killed 原因:CPU或内存限制:在华为云上,你可能有CPU或内存使用的限制。例如,如果你使用的是一个固定大小的实例,那么超过该实例的CPU或内存限制可能会导致进程被杀死。 参考&am…

Python Web开发记录 Day10:Django part4 靓号管理与优化

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、数据库准备2、靓号列表3、新建靓号4、编辑靓…

Vue手写模拟步骤条

效果图&#xff1a; 如果要使用element的步骤条就需要强行修改样式&#xff0c;参考之前的那篇步骤条。这里我采用手写div 代码&#xff1a; 思路是给最外层的div一个左边框&#xff0c;给里面的step-item设置左边框为图片&#xff0c;通过定位来移动。 <div class"m…

Canal实现mysql与缓存同步

什么是Canal Canal是阿里巴巴旗下的一款开源项目, 基于java开发. Canal是基于mysql的主从同步来实现的. github地址: https://github.com/alibaba/canal Canal把自己伪装成MySQL的一个slave节点, 从而监听master的binary log变化. 再把得到的变化信息通知给Canal的客户端, 进而…

个人简历主页搭建系列-02:github 仓库作为联系方式

这篇文章暂时没有开始正式搭建网站。首先是最重要的注意事项&#xff1a;隐私。 真实姓名如果大家自己不介意的话其实我觉得还好&#xff0c;现在在互联网上想扒个姓名挺简单的&#xff0c;而且很多人都实名上网hh&#xff08;比如我的几位田径队学弟笑&#xff09;。 电话&a…

小程序学习3 goods-card

pages/home/home home.wxml <goods-listwr-class"goods-list-container"goodsList"{{goodsList}}"bind:click"goodListClickHandle"bind:addcart"goodListAddCartHandle"/> <goods-list>是一个自定义组件&#xff0c;它具…

[抽象]工厂模式([Abstract] Factory)——创建型模式

[抽象]工厂模式——创建型模式 什么是抽象工厂&#xff1f; 抽象工厂模式是一种创建型设计模式&#xff0c;让你能够保证在客户端程序中创建一系列有依赖的对象组时&#xff0c;无需关心这些对象的类型。 具体来说&#xff1a; 对象的创建与使用分离&#xff1a; 抽象工厂模…

python常用库之WSGI工具包werkzeug

文章目录 python常用库之WSGI工具包werkzeug什么是Werkzeug功能特性 安装使用werkzeug.datastructures.FileStorage python常用库之WSGI工具包werkzeug 什么是Werkzeug 官网&#xff1a;https://palletsprojects.com/p/werkzeug/ 官方文档&#xff1a;https://werkzeug.palle…

信号与系统学习笔记——信号的分类

目录 一、确定与随机 二、连续与离散 三、周期与非周期 判断是否为周期函数 离散信号的周期 结论 四、能量与功率 定义 结论 五、因果与反因果 六、阶跃函数 定义 性质 七、冲激函数 定义 重要关系 作用 一、确定与随机 确定信号&#xff1a;可以确定时间函数…

HTML5、CSS3面试题(一)

1、H5 的新特性有哪些&#xff1f;C3 的新特性有哪些&#xff1f;&#xff08;必会&#xff09; H5 新特性 1、拖拽释放(Drap and drop) API ondrop 拖放是一种常见的特性&#xff0c;即抓取对象以后拖到另一个位置 在 HTML5 中&#xff0c;拖放是标准的一部分&#xff0c;任…

uniapp移动端 IOS系统下无法与webview通信

不知道有没有人遇到过这个问题 我的页面嵌套了一个webview&#xff08;文件位于项目的hybrif/html&#xff09;目录下 使用evalJS与webview进行通信 代码如下 在安卓里运行是没问题的&#xff0c;但在苹果手机上一直无法通信 连接真机&#xff0c;打印evalJS是个方法&#xf…

GEE:关于遥感生态指数(RSEI)的若干疑问

作者:CSDN @ _养乐多_ 本文记录了若干关于在 Google Earth Engine (GEE)平台上,计算基于主成分分析(PCA)的遥感生态指数(RSEI)的问题。并记录了解决这些问题的一些答案。问题包括,主成分分析的特征值的正负,主成分的占比,去云后空值像素的处理方法,异常值处理方法…

C语言中内存函数的使用

memcpy函数的使用和模拟实现 memcpy的使用 函数使用说明&#xff1a; • 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 • 这个函数在遇到 \0 的时候并不会停下来。 • 如果source和destination有任何的重叠&#xff0c;复制的结…

【python】centos 8新装python3.10.0

1.python源码包准备 2.gcc环境安装 如果系统已具备&#xff0c;可以略过。 有的已经自带了gcc&#xff0c;但是如果编译时启动优化的话&#xff0c;如果gcc版本过老就必须要升级。 3.make环境安装 如果系统已具备&#xff0c;可以略过。 4.更新openssl版本&#xff08;很重…

【ES6】let与const

目录 let命令 作用域 无变量提升 不允许重复声明 暂时性死区 块级作用域 函数能否在块级作用域中声明 const命令 let命令 作用域 ES6 新增了let命令&#xff0c;用来声明变量。它的用法类似于var&#xff0c;但是作用域不同&#xff0c;let命令只在所在的代码块内…