繁体   English   中英

非主文件的输入

[英]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是最终的解决方案。 默认情况下,在tsconfigexcludes 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM