下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 25 | 如何编写声明文件
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

TypeScript开发实战

共47讲 · 约450分钟
3008
免费
01 | 重塑“类型思维”
免费
02 | 类型基础(1):强类型与...
免费
03 | 类型基础(2):动态类型...
免费
04 | 编写你的第一个TypeScrip...
免费
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到...
30 | 代码检查工具:从TSLint到...
31 | 使用Jest进行单元测试
32 | 创建项目
33 | 组件与类型(1):函数组...
34 | 组件与类型(2):高阶组...
35 | 事件处理与数据请求
36 | 列表渲染与路由
37 | Redux与类型
38 | 搭建服务端开发环境
39 | 列表的CRUD
40 | 导出Excel
41 | 搭建Vue开发环境
42 | 组件封装
43 | 组件发布
44 | 共存策略
45 | 宽松策略
46 | 严格策略
47 | 结束语
本节摘要

精选留言(13)

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

    作者回复:
    // MyClass.d.ts

    interface IMyMethod {
        (): void;
        props: number;
    }

    declare class MyClass {
        constructor()
        myMethod: IMyMethod
    }

    export = MyClass

    1
  • 2019-10-22
    我一个搞Java的,被课程深深的吸引并坚持学到这里了。。。。

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

    1
  • 为全局变量声明方法,会有报错提示:“全局范围的扩大仅可直接嵌套在外部模块中或环境模块声明中。”
    要在前面加一段代码:
    export {};
    declare global {
      namespace globalLib {
        function doAnything(): void;
      }
    }
    globalLib.doAnything = () => {};
    这个方法是我在一篇帖子里找到的,但是为什么就不知道了,为什么老师的就不会报错呢?
    展开
  • 2019-11-28
    为什么我的@types下面没有jquery,moment的声明文件呢,需要自己去写?

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

  • 2019-11-22
    老师, 写的方法可以通过import 导入吗? 我这里导入之后提示我 相对于的声明文件不是一个模块, 这是为啥呢?

    作者回复: 导入的模块有export 语句吗?最好粘下代码

  • 照着操作,报错了
  • ‘Uncaught ReferenceError: exports is not defined
        at index.js:2’ 报错了
    1
  • 2019-09-08
    如何确定一个类库是全局库、模块库、还是UMD库中的哪种呢?

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

  • 2019-09-04
    老师,我按照视频中的步骤添加了global.d.ts,有报错: TS2304: Cannot find name 'globalLib'.
    请问还需要在什么地方引入global.d.ts文件吗?

    作者回复: 不需要 只要有这个文件并且内容正确就可以,重启下VSCode试试

  • 2019-08-22
    在index.html中使用相对路径报错,为啥一定要懂绝对路径,我使用相对路径就会报错????

    作者回复: 因为server启动后,index.html在根目录

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

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

  • 2019-08-12
    全局模块的代码块执行了,但是还是报错 '找不到名称“globalLib”'

    作者回复: 是不是没写声明文件呢,按照课程的步骤操作,不会有问题。

    5
  • 2019-08-11
    老师,声明文件是干什么用的?为什么要写?
    1