【发布时间】:2016-04-19 10:42:48
【问题描述】:
在下图中左侧的文件夹中,您可以看到我的 /src Typescript(蓝色)使用 tsc 编译成我的 /dist(紫色)Javascript。
您可以在左侧的源文件中看到引用 .ts 模块文件的源文件,它没有被编译为引用右侧的 .js 模块文件。
为什么不呢?如果 tsc 不转换引用,Javascript 怎么可能运行?
第二个问题:然后我尝试手动将编译后的引用从 .ts 更改为 .js 并运行 node dist/server.js 但是我收到错误找不到模块工具/typescriptImport.js'。为什么node在正确引用的时候找不到模块(在最右边可以看到它是一个模块)?
【问题讨论】:
-
从
import声明中,尝试删除.ts扩展并将路径设置为./tools/typescriptImports。没有扩展名的首选方式是extension agnostic。 -
正如预期的那样,tsc 然后在 .js 输出中保持该行不变,没有扩展名。但是node仍然找不到模块。
-
大多数时候,这个问题是通过添加一个
.d.ts文件来解决的。尝试创建一个简单的typescriptImports.d.ts文件并引用它。 -
你试过我告诉你的相对路径了吗?
-
啊,我没有注意到'./',也不认为它有什么不同。现在可以了,谢谢。我会把你的答案标记为答案。
标签: javascript node.js typescript npm tsc