当我尝试导入本地文件时,它会在运行时抛出错误,但使用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编译器的根目录但我找不到任何内容。
答案 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!