我正在用typescript构建一个react库,我想为这个库的使用者提供一个typescript定义文件。如何确保typescript定义文件始终正确并与js代码匹配?或者,如果我的组件是用typescript编写的,有没有办法从编译器为我生成的所有d. ts文件中生成一个d.ts文件?
dm7nw8vv1#
如果您是该库的作者,那么提供和维护这些定义是非常容易的。不管你使用的是什么库(比如React),它都以同样的方式工作。1.创建.d.ts文件您可以通过将**-d传递给编译器参数或在tsconfig.json中添加declaration: true来创建.d.ts文件。1.将定义添加到package.json将名为typings的字段添加到project.json中,例如:"typings": "./index.d.ts"**(如果省略typings,则./index.d.ts实际上是默认值)。如果用户通过NPM安装你的库,TypeScript编译器将自动使用提供的类型。更多信息:Writing Declaration FilesTypings for NPM packages
.d.ts
-d
tsconfig.json
declaration: true
package.json
typings
project.json
"typings": "./index.d.ts"
./index.d.ts
zbwhf8kr2#
正如这里提到的:https://stackoverflow.com/a/65629179/10606346使用React开箱即用的.d.ts文件的最简单方法是将其放在src文件夹中,并将其命名为global.d.ts:src/global.d.ts
src
global.d.ts
src/global.d.ts
xnifntxz3#
将其添加到tsconfig.json中
{ "compilerOptions": { "declaration": true, "declarationDir": "build" // the name of the build folder generated } }
3条答案
按热度按时间dm7nw8vv1#
如果您是该库的作者,那么提供和维护这些定义是非常容易的。不管你使用的是什么库(比如React),它都以同样的方式工作。
1.创建
.d.ts
文件您可以通过将**
-d
传递给编译器参数或在tsconfig.json
中添加declaration: true
来创建.d.ts
文件。1.将定义添加到
package.json
将名为
typings
的字段添加到project.json
中,例如:"typings": "./index.d.ts"
**(如果省略typings
,则./index.d.ts
实际上是默认值)。如果用户通过NPM安装你的库,TypeScript编译器将自动使用提供的类型。
更多信息:
Writing Declaration Files
Typings for NPM packages
zbwhf8kr2#
正如这里提到的:https://stackoverflow.com/a/65629179/10606346
使用React开箱即用的
.d.ts
文件的最简单方法是将其放在src
文件夹中,并将其命名为global.d.ts
:src/global.d.ts
xnifntxz3#
将其添加到tsconfig.json中