【发布时间】:2020-12-28 10:01:02
【问题描述】:
我需要创建一个包含(仅)自定义类型定义(typedefs)的私有 npm 包。这些是不是由 TypeScript 生成的手写 d.ts 文件。由于这些是专有的,我无法将它们添加到 DefinedTyped。
文件夹结构:typings/mymodule/index.d.ts
index.d.ts 包含:declare module mymodule { ... }
该包保留了结构,因此在另一个项目中安装后,我有:
node_modules/@mycompany/mytypes/typings/mymodule/index.d.ts
不幸的是,现在我必须在另一个项目中编辑 tsconfig.json 才能添加:
"include": [
"node_modules/@mycompany/mytypes/typings"
],
或可选(更正确?)在compilerOptions下添加:
"typeRoots": [
"node_modules/@types",
"node_modules/@mycompany/mytypes/typings"
]
之后,它就可以工作了——我可以在另一个项目中引用mymodule.SomeType。
有没有一种方法可以让我在 npm install 上自动完成这项工作,而无需编辑 tsconfig 包含(也就是说,它的行为就像一个 DefinedTyped 包)?
如果有更正确的方法来做到这一点,那就是一个有效的答案。
我使用的是 TypeScript 3.6 或 3.7,具体取决于导入项目。
【问题讨论】:
标签: node.js typescript npm tsconfig type-definition