d.ts 到底该如何写?d.ts不是模块

// test2.d.ts
declare module 'test2' {

  function f1(a: number, b: number): number;

  export = f1;
}

let f1 = (a, b) => {
  return a + b;
}

export default f1

// test.ts

// error
// 文件“/Documents/typescriptdemo/test2.d.ts”不是模块。
import f1 = require('./test2')

f1(1, 2)

我在stackoverflow上看到了同样的问题

https://stackoverflow.com/que...

我认为ts文档对这一块的说明不是特别好,ts文档我看到模块哪一个章节的时候,理解变得有些困难,尤其是对d.ts的理解

阅读 14.2k
2 个回答

d.ts文件就是作为你的一些复合类型、类、函数 其行为的约定。
用来告诉其他人,这个函数的签名是什么,返回值是什么。
这个类提供了什么方法,我可以拿它来做什么事情。

可以理解为是说明书吧。

在声明文件中定义的为全局类型 不需要import引入即可使用,类似如__DEV__,module "*.scss"

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题