[英]TypeScript ES6 namespaces
我有一个Node.js项目,我最近从与ECMAScript 6兼容的JavaScript转换为TypeScript。 我仍然不完全熟悉TypeScript和ES6如何交互,特别是在命名空间和类型方面。
我的项目中有一个名为sql
的子文件夹,它听起来会导出许多函数来与项目的MySQL数据库进行交互。 我想在Sql.Models
命名空间中组织我的数据库模型类型,因此可以引用它们,例如Sql.Models.User
。 我希望我的模型在sql
文件夹中的一个或多个.d.ts
文件中声明,但我无法弄清楚如何正确组织它以便可以在其他地方引用这些类型。 我显然不能require
或import
.d.ts
文件; 这不是一个有效的TypeScript操作。 我如何使用类型Sql.Models.User
在声明.d.ts
在另一个ES6兼容打字稿模块文件?
我通过使用“别名的内部导入”以一种不太漂亮的方式解决了这个问题,这听起来很奇怪,但实际上并非如此。 我将别名导出到内部符号,这恰好是从另一个文件导入的符号。
我更喜欢C#的工作原理,我可以在两个文件中定义命名空间,并以某种方式将别名相互别名,这样只需要引用一个文件,但ECMAScript 6兼容的TypeScript似乎不可能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.