pla*_*zin 5 node.js node-modules typescript
在 TypeScript 中,假设我想让用户使用我模块的“内部”类型,以便他们在使用我的模块时可以正确键入他们自己的变量 - 我是否只是从我的 index.ts 文件中导出所有内容来完成此操作?
// index.ts
export * from './file1' // uses types/interfaces defined in file1types
export * from './file2' // uses types/interfaces defined in file2types
export * from './types/file1types'
export * from './types/file2types'
Run Code Online (Sandbox Code Playgroud)
我曾尝试阅读 TypeScript 声明文件,但有关这方面的信息非常零散。.d.ts文件是否可以帮助我完成此任务,还是仅适用于非 TS 项目?tsconfig.json的选项是否declaration: true通过.d.ts为每个 TS 文件生成一个来帮助我完成此操作?这是从单个 index.ts 文件导出所有内容的替代方法吗?
如果declaration: true确实可以帮助我完成此操作,用户将如何使用.d.ts文件build夹中所有生成的文件?
我非常感谢您对 TS 项目中通常如何导出类型的一些说明。提前致谢。
小智 20
对于那些像我一样,并已确保declaration: true在您的 中设置的人tsconfig.json,并且您的构建过程正确地将相应的.d.ts文件创建到您的文件指向的适当目录中package.json,并且在以下情况下仍然无法访问模块的内部类型在外部项目上进行测试 - 尝试在 VSCode 中重新启动 TS 服务器(假设您使用的是 VSCode)
我浪费了很多时间试图解决这个问题,结果却发现 Typescript 运行良好,而我却被我的 IDE 破坏了。
Zwi*_*ers 18
无需声明文件,您可以在 TypeScript 中开发包,对其进行编译并将其作为 JavaScript 代码公开给其他用户。包含它们还允许 TypeScript 开发人员将包与您在其中定义的任何类型一起使用。他们可以在使用您的库时获取更多类型信息,例如所需的参数类型、函数返回类型等,以及在发生冲突时从 IDE/Intellisense 发出的警告。
declaration: true文件中的指示tsconfig.jsonTypeScript 编译器输出声明文件 (.d.ts)。通常它们捆绑在一个文件中,例如index.d.ts,然后"types": path/to/index.d.ts将一个字段添加到库的package.json文件中,以通知 TypeScript 在哪里查找类型(当用户导入包时)。
| 归档时间: |
|
| 查看次数: |
6980 次 |
| 最近记录: |