我正在尝试 include a .d.ts file in my npm package对于 my (non-TypeScript) library .
我的 package.json
中有以下内容:
"typings": "./src/iter.d.ts",
但无论我在 ./src/iter.d.ts
中放入什么,每当我尝试在 Visual Studio 中使用它时,我总是会收到“找不到模块‘iterjs’”的消息.
要重现,请在 VS 中创建一个新的 TypeScript 应用(我使用 2015 和 TS 1.8.4),执行 npm install iterjs
,并将以下内容添加到 app.ts
:
import iter from 'iterjs';
我尝试修改 iter.d.ts
的本地副本(在 node_modules
下),拼命尝试让 一切正常 em>;我的本地副本目前只有以下内容:
export declare function bob(object: Object, property: string): boolean;
export default bob;
我可以验证 Visual Studio 正在查找和读取 iter.d.ts
文件(我可以看到它在每次 VS 打开 app.ts
时都在 Process Monitor 中读取) >);但是,.d.ts
文件中显然有它不喜欢的内容。我已经阅读了大约十二篇博客文章,通读了手册,以及关于该主题的六个 TypeScript 问题,并且尝试了大约 20 种不同的方法从 .d 中导出 anything。 ts
文件,但 VS 总是给出相同的错误(找不到模块“iterjs”)。
最佳答案
NPM 包中 .d.ts
文件的类节点解析仅适用于正确外部模块格式的类型定义。您存储库中的 .d.ts
是环境模块格式,要将其转换为正确的格式,请删除 declare module "iter"
并为您希望导出的每个符号加上前缀export declare
,哦,将export = iter
替换为export default iter
。您可以在 https://github.com/Microsoft/TypeScript/wiki/Typings-for-npm-packages 找到更多信息。
关于visual-studio - 如何在 npm 包中分发 .d.ts 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35651726/