如何为 umd 库创建 TypeScript 定义文件 (d.ts)
How to create TypeScript definition file (d.ts) for umd library
我正在图书馆工作 surveyjs
它使用gulp+webpack来构建umd包。
我想创建类型定义包(或者可能只是多个 d.ts 文件)以便在打字稿项目中使用。我想要这样的东西:
import * as Survey from 'surveyjs';
调查的所有内容。* 描述如下:
https://github.com/dmitrykurmanov/surveyjs/blob/master/src/entries/ko.ts
我尝试使用:github.com/SitePen/dts-generator 和 github.com/TypeStrong/dts-bundle 但没有成功,有人可以告诉我正确的方向吗?
您可以要求 tsc 通过在 [=] 中添加 declaration 标志来为您的代码生成声明文件21=].
你的情况是:
{
"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"
]
}
正如 toskv 提到的,您可以使用 tsc 生成 .d.ts 文件。问题是编译器会创建多个声明文件,每个文件对应一个 .ts 文件。我从事的另一个项目也遇到了同样的问题。我通过为 webpack 创建一个小插件来解决它 merges 由 tsc.
生成的 .d.ts 文件
您可以在这里查看:https://www.npmjs.com/package/typescript-declaration-webpack-plugin
我正在图书馆工作 surveyjs
它使用gulp+webpack来构建umd包。
我想创建类型定义包(或者可能只是多个 d.ts 文件)以便在打字稿项目中使用。我想要这样的东西:
import * as Survey from 'surveyjs';
调查的所有内容。* 描述如下: https://github.com/dmitrykurmanov/surveyjs/blob/master/src/entries/ko.ts
我尝试使用:github.com/SitePen/dts-generator 和 github.com/TypeStrong/dts-bundle 但没有成功,有人可以告诉我正确的方向吗?
您可以要求 tsc 通过在 [=] 中添加 declaration 标志来为您的代码生成声明文件21=].
你的情况是:
{
"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"
]
}
正如 toskv 提到的,您可以使用 tsc 生成 .d.ts 文件。问题是编译器会创建多个声明文件,每个文件对应一个 .ts 文件。我从事的另一个项目也遇到了同样的问题。我通过为 webpack 创建一个小插件来解决它 merges 由 tsc.
生成的 .d.ts 文件您可以在这里查看:https://www.npmjs.com/package/typescript-declaration-webpack-plugin