如何在打字稿中声明 NPM 的模块公共类型定义



我创建了一个 npm 包 (https://github.com/d6u/observe-object-path)。它是用打字稿写的。它有一个构建步骤来将其编译为 ES5,以便任何 JavaScript 环境都可以使用它(https://github.com/d6u/observe-object-path/blob/master/package.json#L39-L41)。

  1. 由于该模块已经是用打字稿编写的。是否可以为我的软件包自动生成一个.d.ts文件,以便使用 Typescript 的人可以在最少配置或无需配置的情况下使用它?

  2. 如果无法自动生成,那么将.d.ts文件放在ts目录下的最佳位置是什么(显然是 Rx 4 https://github.com/Reactive-Extensions/RxJS/tree/master/ts 正在做的事情)?

若要为项目生成 .d.ts 文件,必须在编译器配置中启用声明选项。

使用 tsconfig.json 的示例。

{
    "compilerOptions": {
        "module": "system",
        "target": "es5",
        "noImplicitAny": false,
        "sourceMap": false,
        "experimentalDecorators": true,
        "declaration": true
    },
    "exclude": [
        "node_modules"
    ]
}

最新更新