TypeScript 开发实战
梁宵
搜狗营销事业部高级架构师
34174 人已学习
新⼈⾸单¥59
课程目录
已完结/共 47 讲
TypeScript 开发实战
登录|注册
留言
32
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 25 | 如何编写声明文件
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 重塑“类型思维”
02 | 类型基础(1):强类型与弱类型
03 | 类型基础(2):动态类型与静态类型
04 | 编写你的第一个TypeScript程序
05 | 基本类型
06 | 枚举类型
07 | 接口(1):对象类型接口
08 | 接口(2):函数类型接口
09 | 函数相关知识点梳理
10 | 类(1):继承和成员修饰符
11 | 类(2):抽象类与多态
12 | 类与接口的关系
13 | 泛型(1):泛型函数与泛型接口
14 | 泛型(2):泛型类与泛型约束
15 | 类型检查机制(1):类型推断
16 | 类型检查机制(2):类型兼容性
17 | 类型检查机制(3):类型保护
18 | 高级类型(1):交叉类型与联合类型
19 | 高级类型(2):索引类型
20 | 高级类型(3):映射类型
21 | 高级类型(4):条件类型
22 | ES6与CommonJS的模块系统
23 | 使用命名空间
24 | 理解声明合并
25 | 如何编写声明文件
26 | 配置tsconfig.json(1):文件选项
27 | 配置tsconfig.json(2):编译选项
28 | 配置tsconfig.json(3):工程引用
29 | 编译工具:从ts-loader到Babel
30 | 代码检查工具:从TSLint到ESLint
31 | 使用Jest进行单元测试
32 | 创建项目
33 | 组件与类型(1):函数组件与类组件
34 | 组件与类型(2):高阶组件与Hooks
35 | 事件处理与数据请求
36 | 列表渲染与路由
37 | Redux与类型
38 | 搭建服务端开发环境
39 | 列表的CRUD
40 | 导出Excel
41 | 搭建Vue开发环境
42 | 组件封装
43 | 组件发布
44 | 共存策略
45 | 宽松策略
46 | 严格策略
47 | 结课测试&结束语
本节摘要
登录 后留言

全部留言(32)

  • 最新
  • 精选
静水流深
我一个搞Java的,被课程深深的吸引并坚持学到这里了。。。。

作者回复: 赞,学点JS 总是不会错的:)

2019-10-22
4
Angus
老师你好,如果我引入了一个JS类库,但是社区又没有提供类型声明文件,我该如何去编写它的类型声明文件呢。

作者回复: 先确定这个库的类型,全局库、模块库、还是UMD库,然后参照课程中介绍的方法,把它的API声明逐步添加进来(暂时用不到的API也可以不写)。

2019-08-17
3
K丶m
老师想请教下 1. 是不是用.d.ts为后缀,ts就能感知这是申明文件并在整个工程下做类型检查 2. 一般项目中这些申明文件编写一般是存放在哪,或者是怎么管理的

作者回复: 分两种情况: 1)如果开发的是类库,声明文件应该放在 package.json 指定的 "types" 路径下,位置随意;或者在包的根目录下同时放置 index.js 和 index.d.ts,就不需要使用"types"指定了;也可单独发布声明文件包 @types/xxx; 2)如果是普通的项目工程,除非js和ts混写,且ts引用了js模块,一般不需要写声明文件,这种情况下,需要把声明文件和源文件放在一起,如 lib.js、lib.d.ts

2020-07-31
2
在 VScode 中用 ts 写代码,进到某个库某个函数的时候,看到的是声明文件,这个怎么看到对应的源码实现呢?

作者回复: 声明文件的位置在:node_module/@types/xxx 对应的库的位置就在:node_module/xxx

2020-06-24
2
2
彷徨
老师,为什么说 export = 的兼容性是最好的呢?

作者回复: 这种导出语法可以兼容ES6模块、CommonJS模块的导入

2020-05-08
1
lf
为什么我的@types下面没有jquery,moment的声明文件呢,需要自己去写?

作者回复: jquery的声明文件需要手动安装 @types/jquery,moment的声明文件在自己的安装包里

2019-11-28
1
罗志军
老师, 请问下, 声明文件中, 如何给类的成员方法添加属性 尝试1: 使用“命名空间”合并“混合接口”, 合并后的声明并非是类成员属性, 而是类静态属性。

作者回复: // MyClass.d.ts interface IMyMethod { (): void; props: number; } declare class MyClass { constructor() myMethod: IMyMethod } export = MyClass

2019-11-27
1
一路向北
如何确定一个类库是全局库、模块库、还是UMD库中的哪种呢?

作者回复: 全局库对外保留全局变量,模块库有export 语句,UMD库有典型的UMD封装

2019-09-08
1
Geek_8dafb2
1.请问为何这里得全局js要采用src/global-lib.js才可以找到,为何用相对路径不行? 2.全局ts是如何被感知到的,模块ts是导入的,这个能理解,但全局ts声明文件是如何被加载的?

作者回复: 1)这个js的路径就是相对于index.html的路径; 2)声明文件在整个工程中都可以被检测到,它只用于类型检查,没有被加载的概念,也不会被构建输出

2020-07-30
build roads (^_^)
libs里面的index.ts 和 index.html 是怎么样关联的?我这边设置css 刚开始设置样式都不起作用,但是也不报错

作者回复: 把index.ts 直接放在src下,git上的代码是很多节课放在一起的,不能一起运行

2020-06-22
收起评论