【发布时间】:2015-02-04 12:30:28
【问题描述】:
伙计们,我正在尝试做一些我认为应该很简单的事情,但我一定是做错了什么。我试图在使用 Typescript 的流星应用程序中简单地拥有一个清晰的结构。
这是我的要求:
- 所有接口在客户端和服务器端都可用
- 某些类实现仅在服务器上可用
- 我不想依赖文件加载顺序来让我的应用程序正常工作
- 我需要自己的模块不与全局对象发生冲突(例如 Position 类)
- 我需要一个用于服务器的整体包含文件,一个用于客户端和服务器,一个用于客户端(不希望在我的文件顶部包含 10 个包含)
我现在的设置是这样的
- 服务器
- server-book.ts
- 客户
- 共享
- collections.ts
- 定义
- 服务器
- include.d.ts(包括此文件夹中的所有 .d.ts 文件)
- server-book.d.ts(书的服务器特定实现)
- 客户
- 共享
- include.d.ts(包括所有 .d.ts 文件)
- book.d.ts(书籍接口定义)
- collections.d.ts
- 服务器
在我拥有的每个 .d.ts 文件中
模块 MyModule { 接口 Bla {} };在每个定义我拥有的类的 .ts 文件中:
模块 MyModule { 导出类 MyBla 实现 Bla {}; }为类生成的所有 .d.ts 文件都是由 tsc -d 生成的。
通过 ///
现在,当我运行它时,我收到一个错误,即 MyModule 未定义:
///错误发生在 MyModule 上。
我做错了什么?这里的正确设置应该是什么?
谢谢!
【问题讨论】:
标签: meteor typescript