我使用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模块并能够动态编译它们?
import
文件夹中的其他模块。从上面的错误来看,我对编译的怀疑甚至走得那么远。答案 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)