visual-studio - 如何在 npm 包中分发 .d.ts 文件

标签 visual-studio typescript

我正在尝试 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/

相关文章:

c# - Visual Studio 中构建的进度

javascript - TypeScript - 她一定要拥有它? (它 == 全局范围)

reactjs - 在 NextJS 应用程序中使用 Cypress 组件测试

javascript - 如何扩充在 Typescript 模块上声明但未导出的类

javascript - 导出由导入的类/接口(interface)组成的模块?

c# - ASP.NET 移动应用程序通过请求简单的 GET 操作获取 "500 Internal Sever Error"

c# - 如何向 Visual Studio 2017 添加功能?

c++ - C++ Visual Studio C2027和C2011错误

VB.net 设计器错误..我该如何解决它?

reactjs - VSCode 在 .tsx 文件中使用 AS 关键字显示类型断言错误