[英]Typings for not main file
我有一个像package.json
一样的
{
"name": "some-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"typings": "./index.d.ts"
}
在打字稿中我可以像这样使用这个包
import someProject from "some-project";
但是我有另一个文件helpers.js
而且我想要像使用它一样
import someProject from "some-project/helpers";
我如何为这个文件创建输入? 他与index.js
无关。谢谢。
您可以应用一些不同的方法将您的打字分成逻辑“块”。
在你的index.ts中:
export * from './main';
import * as helpers from './helpers';
export {helpers};
然后,您可以以与您要求的方式类似的方式使用助手功能:
import * as sp from 'some-project'
sp.doSomething();
sp.helpers.doSomethingElse();
通常index.ts
(从中生成index.d.ts
)是导出库/包的所有符号的入口点。 在您的情况下,一个包中有许多不同的隔离模块,并且没有从一个地方导出所有这些隔离模块的外观
改变tsconfig是最终的解决方案。 默认情况下,在tsconfig
中excludes
node_modules
,这意味着除了index.d.ts
之外的定义将不会包含在编译中。 您可以通过明确定义的includes
来更改此选项,以包括特定目录中的所有.ts
, .d.ts
, .tsx
。
"include": [
"node_modules/yourPackage/**/*",
"yourWorkingDirectory/**/*"
]
"yourWorkingDirectory/**/*"
也需要添加到数组中,因为您明确定义了includes
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.