13

我正在研究图书馆调查

它使用gulp+webpack构建 umd 包。

我想创建用于打字稿项目的类型定义包(或者可能只是多个 d.ts 文件)。我想要这样的东西:

import * as Survey from 'surveyjs';

Survey.* 的所有内容都在此处描述: https ://github.com/dmitrykurmanov/surveyjs/blob/master/src/entries/ko.ts

我尝试使用:github.com/SitePen/dts-generatorgithub.com/TypeStrong/dts-bundle但没有成功,有人可以告诉我正确的方向吗?

4

2 回答 2

6

您可以通过在tsconfig.json中添加声明标志来要求tsc为您的代码生成声明文件。

在您的情况下,它将是:

{
  "compilerOptions": {
    "target": "es5",
    "module": "es2015",
    "sourceMap": true,
    "noImplicitAny": false,
    "jsx": "react",
    "declaration": true
  },
//  "filesGlob": [
  //    "typings/index.d.ts"
  //  ], // TODO
  "include": [
    "typings/index.d.ts",
    "src/**/*"
  ],
  "exclude": [
    "node_modules",
    "**/*.spec.ts"
  ]
}
于 2016-10-20T13:41:31.673 回答
2

正如 toskv 提到的,您可以使用tsc生成 .d.ts 文件。问题是编译器创建了多个声明文件,每个 .ts 文件一个。我工作的另一个项目也遇到了同样的问题。我通过为 webpack 创建一个小插件来解决它,它合并了tsc 生成的.d.ts文件。

你可以在这里查看:https ://www.npmjs.com/package/typescript-declaration-webpack-plugin

于 2018-07-20T09:12:36.107 回答