要求使用Typescript从另一个app模块中获取app模块

时间:2015-06-12 00:56:47

标签: node.js requirejs typescript

我使用Typescript构建NodeJS应用程序,使用typescript-require编译我的源代码。我的一个模块导出了一个我想在另一个模块中实现的接口。

鉴于以下应用程序结构,似乎不可能有一个应用程序级模块需要另一个:

--module systemjs

尝试从| app/ | -- node_modules/ | ---- interface/ | ------ index.ts | ---- implements/ | ------ index.ts ..

内导入interface
implements

..导致以下错误:

import Interface = require('interface');

如果error TS2307: Cannot find external module 'interface'. 位于应用根级别,则此方法有效。

如果我使用implements代替var,我可以很好地导入模块,但是我无法正确实现接口。

这有什么办法吗?这是打字稿的限制 - 要求我坚持吗?有没有更好的方法能够在Typescript中编写我的Node模块并能够动态编译它们?

其他信息

  1. 我尝试过使用app-module-path,但该软件包明确阻止模块要求import文件夹中的其他模块。从上面的错误来看,我对编译的怀疑甚至走得那么远。

1 个答案:

答案 0 :(得分:0)

  

有一种更好的方法可以在Typescript中编写我的Node模块

您需要使用完整相对路径。有讨论要删除此限制:https://github.com/Microsoft/TypeScript/issues/2338

  

并且能够动态编译它们

我写了一个IDE插件,它使:)相对路径更容易(https://github.com/TypeStrong/atom-typescript/#relative-paths)和b。)CompileOnSave(https://github.com/TypeStrong/atom-typescript/#compile-on-save