node.js / typescript找不到本地模块

时间:2015-04-22 19:04:18

标签: node.js typescript node-webkit

当我尝试导入本地文件时,它会在运行时抛出错误,但使用tsc工作进行编译。当我为node.js工作时,typescript会在编译时抛出一个错误。

当我这样做时

import A = require("./A");

node.js抱怨说,它找不到A模块和打字稿编译就好了。

但是当我把它改成

import A = require("./js/A");

node.js可以找到模块但是Typescript告诉我有错误。

布局如下:

js
\- A.ts
\- B.ts

我单独编译文件,我已经尝试搜索更改typescript编译器的根目录但我找不到任何内容。

1 个答案:

答案 0 :(得分:0)

如果没有看到你是如何编译TypeScript的,并且没有看到你如何尝试从节点require()这些文件,那么很难回答这个问题。

即便如此,我可以告诉你, TypeScript和node.js都期望require()被赋予相对于执行require的文件的路径

如果我有一个看起来像这样的js / A.ts:

import B = require("./B");
console.log(B.thing);

看起来像这样的js / B.ts:

var myStuff = {
    thing: "I'm a thing!"
}
export = myStuff;

然后我可以使用单个tsc -m commonjs ./js/A.ts

编译两个文件

然后我可以使用node ./js/A.js运行节点并看到输出:

I'm a thing!