首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【TS】612- 了不起的 tsconfig.json 指南

什么是 tsconfig.json TypeScript 使用 tsconfig.json 文件作为其配置文件,当一个目录中存在 tsconfig.json 文件,则认为该目录为 TypeScript...", "ES2019.Array"], // TS需要引用的库,即声明文件,es5 默认引用dom、es5、scripthost,如需要使用es的高级版本特性,通常都需要配置,es8的数组新特性需要引入...jq时不想使用默认版本,而需要手动指定版本,可进行如下配置 "jquery": ["node_modules/jquery/dist/jquery.min.js"] }, "...如下,我们可以看出:使用 const 修饰符后,编译器不会生成任何 RequestMethod 枚举的任何映射代码,在其他地方使用时,内联每个成员的值,节省很大开销。...配置 source map 想要启用 source map,我们必须配置 TypeScript,以将内联的 source map 输出到编译后的 JavaScript 文件中。

2K30

了不起的 tsconfig.json 指南

什么是 tsconfig.json TypeScript 使用 tsconfig.json 文件作为其配置文件,当一个目录中存在 tsconfig.json 文件,则认为该目录为 TypeScript...", "ES2019.Array"], // TS需要引用的库,即声明文件,es5 默认引用dom、es5、scripthost,如需要使用es的高级版本特性,通常都需要配置,es8的数组新特性需要引入...jq时不想使用默认版本,而需要手动指定版本,可进行如下配置 "jquery": ["node_modules/jquery/dist/jquery.min.js"] }, "...如下,我们可以看出:使用 const 修饰符后,编译器不会生成任何 RequestMethod 枚举的任何映射代码,在其他地方使用时,内联每个成员的值,节省很大开销。...配置 source map 想要启用 source map,我们必须配置 TypeScript,以将内联的 source map 输出到编译后的 JavaScript 文件中。

2.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

d.ts

一.简介 经常看到d.ts,因为一个越来越广泛的应用场景是编辑器智能提示(具体见IntelliSense based on TypeScript Declaration Files): JavaScript..."jquery"; // Commonjs Module const $ = require("jquery"); 从声明文件上看,前者需要声明全局变量jQuery和$,而后者并不默认暴露这些,所以jQuery...; 因此,我们把类库分为3类: global:暴露出全局变量的类库 module:不暴露全局变量,需要通过特定加载机制(require/define/import)引用的模块形式的类库 plugin:...,请查看 四.语法格式 全局变量 /** The number of widgets present */ declare var foo: number; declare var声明一个数值类型的全局变量...,应该从特殊到一般自上而下排列(例如any会短路其它重载声明,类似于模式匹配的机制) 能用可选参数(two?

2.8K30

了不起的 tsconfig.json 指南

什么是 tsconfig.json TypeScript 使用 tsconfig.json 文件作为其配置文件,当一个目录中存在 tsconfig.json 文件,则认为该目录为 TypeScript...", "ES2019.Array"], // TS需要引用的库,即声明文件,es5 默认引用dom、es5、scripthost,如需要使用es的高级版本特性,通常都需要配置,es8的数组新特性需要引入...jq时不想使用默认版本,而需要手动指定版本,可进行如下配置 "jquery": ["node_modules/jquery/dist/jquery.min.js"] }, "...  : 数组类型,允许自动引入的库名,:"jquery", "lodash"; exculde  : 数组类型,排除的库名。...如下,我们可以看出:使用 const 修饰符后,编译器不会生成任何 RequestMethod 枚举的任何映射代码,在其他地方使用时,内联每个成员的值,节省很大开销。

2.5K42

一文读懂TS的(.d.ts)文件

d.ts文件用于为 TypeScript 提供有关用 JavaScript 编写的 API 的类型信息。简单讲,就是你可以在 ts 中调用的 js 的声明文件。...为了解决这个问题,DefinitelyTyped 被创建出来,它提供了多数流行的脚本库的 TypeScript 定义,你可以使用名为 tsd 的一个工具来管理它。...在 Typescript 2.0 中使用 @type 类型定义,这种方式已经不推荐使用。...Typings Typings 也是一个用来管理 Typescript 定义的库。这种方式已经不推荐使用。...函数 用interface 声明函数 class 对象 混合类型 模块化的全局变量 模块化的全局变量 定义全局变量的时候需要引入(别人写的)文件 模块化(CommonJS) 通过 require 的方式引入模块化的代码

2.5K20

Typescript学习笔记,从入门到精通,持续记录

//定义了全局变量 jQuery 的类型 declare var jQuery: (selector: string) => any; jQuery('#foo'); 参考:http://ts.xcatliu.com...与 import 的区别是,当且仅当在以下几个场景下,我们才需要使用三斜线指令替代 import: 当我们在书写一个全局变量声明文件时,在全局变量声明文件中,是不允许出现 import, export...一旦出现了,那么他就会被视为一个 npm 包或 UMD 库,就不再是全局变量声明文件了。...故当我们在书写一个全局变量声明文件时,如果需要引用另一个库的类型,那么就必须用三斜线指令 当我们需要依赖一个全局变量声明文件时,当我们需要依赖一个全局变量声明文件时,由于全局变量不支持通过 import...导入,当也就必须使用三斜线指令来引入 拆分声明文件,当我们的全局变量声明文件太大时,可以通过拆分为多个文件,然后在一个入口文件中将它们一一引入,来提高代码的可维护性。

1.9K50

深度讲解TS:这样学TS,迟早进大厂【12】:声明文件

比如 jQuery一个全局变量,它是一个对象,提供了一个 jQuery.ajax 方法可以调用,那么我们就应该使用 declare namespace jQuery声明这个拥有多个子属性的全局变量...在 npm 包的声明文件中,使用 declare 不再会声明一个全局变量,而只会在当前文件中声明一个局部变量。...): string; } // src/index.ts jQuery.foo({ bar: '' }); 在 npm 包或 UMD 库中扩展全局变量§ 之前所说,对于一个 npm 包或者...与 import 的区别是,当且仅当在以下几个场景下,我们才需要使用三斜线指令替代 import: 当我们在书写一个全局变量声明文件时 当我们需要依赖一个全局变量声明文件时 书写一个全局变量声明文件...依赖一个全局变量声明文件§ 在另一个场景下,当我们需要依赖一个全局变量声明文件时,由于全局变量不支持通过 import 导入,当然也就必须使用三斜线指令来引入了29: // types/node-plugin

4.4K51

typescript声明文件:全局变量模块拆分自动生成声明文件

namespace 声明(含有子属性的)全局对象interface 和 type 声明全局类型declare var§在所有的声明语句中,declare var 是最简单的,之前所学,它能够用来定义一个全局变量的类型...比如 jQuery一个全局变量,它是一个对象,提供了一个 jQuery.ajax 方法可以调用,那么我们就应该使用 declare namespace jQuery声明这个拥有多个子属性的全局变量...在 npm 包的声明文件中,使用 declare 不再会声明一个全局变量,而只会在当前文件中声明一个局部变量。...): string;}// src/index.tsjQuery.foo({    bar: ''});在 npm 包或 UMD 库中扩展全局变量之前所说,对于一个 npm 包或者 UMD 库的声明文件...与 import 的区别是,当且仅当在以下几个场景下,我们才需要使用三斜线指令替代 import:当我们在书写一个全局变量声明文件时当我们需要依赖一个全局变量声明文件时书写一个全局变量声明文件这些场景听上去很拗口

2.8K11

Typescript真香秘笈

很多人坚持javascript而不愿使用typescript一个很大原因是认为javascript的动态性高,基本不需要考虑类型,而使用typescript将会大大削弱编码的自由度。...声明语法: declare var、declare let、declare const声明全局变量 // src/jQuery.d.ts declare let jQuery: (selector: string...相比于 npm 包的类型声明文件,我们需要额外声明一个全局变量,为了实现这种方式,ts 提供了一个新语法 export as namespace。...一般使用 export as namespace时,都是先有了 npm 包的声明文件,再基于它添加一条 export as namespace语句,即可将声明好的一个变量声明全局变量。...使用 declare global可以在 npm 包或者 UMD 库的声明文件中扩展全局变量的类型。

5.6K20

TypeScript】超详细的笔记式教程【上】

前言 之前了解过TypeScript,也学习过,但是项目中没有具体的使用过,导致忘得差不多了,最近公司不是很忙,学习的时间比较多,趁这个机会,快快的过一遍,然后准备用SolidJs + TypeScript...+ Vite做一个小项目,还看了看SvelteJs,感觉这个比SolidJs的生态似乎更好,可以巩固完TypeScript后学习一下这个,SvelteJs + Ts + Vite也挺香嘛。...", "ES2019.Array"], // TS需要引用的库,即声明文件,es5 默认引用dom、es5、scripthost,如需要使用es的高级版本特性,通常都需要配置,es8的数组新特性需要引入...node的解析策略,即相对的方式导入 "baseUrl": "./", // 解析非相对模块的基地址,默认是当前目录 "paths": { // 路径映射,相对于baseUrl // 使用...jq时不想使用默认版本,而需要手动指定版本,可进行如下配置 "jquery": ["node_modules/jquery/dist/jquery.min.js"] }, "rootDirs

1.1K30

4000字讲清 《深入理解TypeScript》一书 【基础篇】

或者,你也可以创建一个针对于特定库的声明文件,jquery 创建 jquery.d.ts 文件。...虽然创建一个声明文件这种快速但是不好的方式是减小使用 TypeScript 初始阻力的重要步骤。...考虑使用 jquery 的用例,你可以非常简单快速的为它创建一个定义: declare var $: any; 有时候,你可能想给某些变量一些明确的定义(jquery),并且你会在类型声明空间中使用它...@types 你可以通过 npm 来安装使用 @types,如下例所示,你可以为 jquery 添加声明文件: npm install @types/jquery --save-dev @types 支持全局和模块类型定义...如果在你的参数里,不止拥有一个泛型,你应该使用一个更语义化名称, TKey 和 TValue (通常情况下,以 T 作为泛型的前缀,在其他语言 C++ 里,也被称为模板) 变体 对类型兼容性来说,变体是一个利于理解和重要的概念

1.9K30

declare 和 .d.ts

# declare 类型补全 declare 在 TypeScript 中的作用是声明全局变量、函数、类或模块的类型信息,而不需要提供具体实现 应用场景主要包括以下几个方面,解决相应的问题: 与外部...在 TypeScript 中,.d.ts 文件被用于声明全局变量、函数、类等的类型信息,以补充缺失或不确定的类型定义。...这些声明文件不需要被导出,而是被自动地包含在项目的类型检查过程中。 当你在一个模块文件中引入一个类型声明文件(.d.ts 文件),TypeScript 会自动识别并应用其中的类型信息。...举个例子,假设你有一个名为 globals.d.ts 的声明文件,其中声明一个全局变量: declare const GLOBAL_VARIABLE: string; 在其他 TypeScript 文件中...string 同样的规则也适用于其他类型的声明全局函数、全局类等。

34710

TypeScript入手,驾驭HarmonyOS开发的技术风潮!-----------(番外篇)

,而是在使用函数/接口/类的时候才能确定的数据的类型叫做泛型 (()=>{ // 需求: 定义一个函数, 传入两个参数, 第一个参数是数据, 第二个参数是数量, // 函数的作用:...当使用第三方库时,我们需要引用它的声明文件,才能获得对应的代码补全、接口提示等功能 假如我们想使用第三方库 jQuery,一种常见的方式是在 html 中通过 script 标签引入 jQuery,然后就可以使用全局变量...=> any; jQuery('#foo'); declare var 并没有真的定义一个变量,只是定义了全局变量 jQuery 的类型,仅仅会用于编译时的检查,在编译结果中会被删除。...它编译结果是: jQuery('#foo'); 一般声明文件都会单独写成一个 xxx.d.ts 文件 创建 01_jQuery.d.ts, 将声明语句定义其中, TS编译器会扫描并加载项目中所有的TS...声明文件 declare var jQuery: (selector: string) => any; 很多的第三方库都定义了对应的声明文件库, 库文件名一般为 @types/xxx, 可以在 https

9910

快速学习TypeScript——模块

比如,像JQuery这样的类库可能有一个默认导出 jQuery或$,并且我们基本上也会使用同样的名字jQuery或$导出JQuery JQuery.d.ts declare let $: JQuery;...这里的对象一词指的是类,接口,命名空间,函数或枚举 若使用export =导出一个模块,则必须使用TypeScript的特定语法import module = require("module")来导入此模块...JavaScript库 要想描述非TypeScript编写的类库的类型,我们需要声明类库所暴露出的API 我们叫它声明因为它不是“外部程序”的具体实现。...我们可以使用顶级的 export声明来为每个模块都定义一个.d.ts文件,但最好还是写在一个大的.d.ts文件里。...x, {y} from "hot-new-module"; x(y); 复制代码 模块声明通配符 某些模块加载器SystemJS 和 AMD支持导入非JavaScript内容。

1.2K10

TypeScript基础常用知识点总结

TypeScript—命名空间 命名空间是为了避免变量命名冲突,TypeScript 官方将命名空间视为“内部模块”。 如果声明相同名称的命名空间,TypeScript 编译器会将其合并为一个声明。...TypeScript—类型声明文件 假如我们想使用第三方库 jQuery,一种常见的方式是在 html 中通过 标签引入 jQuery,然后就可以使用全局变量 声明文件 当使用第三方库时...通常我们会把声明语句放到一个单独的文件(jQuery.d.ts)中,这就是声明文件,声明文件必需以 .d.ts 为后缀。...第三方声明文件 当然,jQuery声明文件不需要我们定义了,JQuery已经帮我们定义好了。 我们可以直接下载下来使用,但是更推荐的是使用 @types 统一管理第三方库的声明文件。...@types 的使用方式很简单,直接用 npm 安装对应的声明模块即可,以 jQuery 举例: npm install @types/jquery --save-dev 如果要搜索你需要的声明文件,可以点击这个链接

4.8K30

将超过5000万行JS代码迁移到TypeScript,我们得到的10大见解

如果一个库升级到 TypeScript,并开始使用新语法生成新的声明文件,那么如果使用该库的应用项目的 TypeScript 版本不理解新语法,就会无法编译。...我们期待 TypeScript 获得对入口点的一等支持,这样就用不着这种解决方法了。 9. 生成的声明可以内联依赖项中的类型 程序包需要导出.d.ts 声明,以便用户可以消费它们。...在大多数情况下,TypeScript声明发射很好用。我们发现的一个问题是,有时 TypeScript 会将类型从依赖项内联到生成的类型中(#37151)。...通过实验,我们发现了防止内联类型声明的一些可选方法,例如: 首选 interface 而不是 type(接口不内联) 如果未导出声明所需的 interface,则 tsc 将拒绝内联该类型并生成明显错误...当我们需要支持时,社区和 TypeScript 团队的反馈让我们沐春风。使用共享开源技术的一个明显好处是,当你遇到问题时,常常会发现自己并不孤单。当你找到答案时,也会分享它们。

1.6K30
领券