2016-11-25 91 views
1

我想完全理解Typescript如何在Node.js项目中工作。为了实现这个功能,我创建了我自己的custom_modules文件夹,其中有一个单独的@types文件夹供我的声明使用,而实际的实现是在custom_modules下尝试模仿node_modules的结构。我的目标是通过单独的声明和实现使该模块在项目中非相对可用。我已经能够安装这一设置编译一个项目,但与运行它的错误:Typescript自定义节点模块

Cannot find module 'foo'

来源是可在这里: https://github.com/anorborg/learn-ts

回答

0

node_modules文件夹是有些特殊情况下,如何打字。这是nodejs如何工作的结果。看看[模块分辨率]结构(https://www.typescriptlang.org/docs/handbook/module-resolution.html),它更深入地描述了模块分辨率如何在打字稿中工作。

但总之要回答你的问题:你不能以这种方式使用非相对模块路径。节点将在运行时在node_modules中查找该文件,并且在那里找不到它。 tsconfig.json中的paths属性用于解决在其他情况下可能发生的问题,例如定位到RequireJS或SystemJS时,而不是在定位节点时。