为什么Typescript编译器不会将.ts更改为.js?

时间:2016-01-14 07:35:48

标签: javascript node.js typescript npm tsc

在文件夹左侧的下方图片中,您可以看到使用tsc编译到我的 / dist (紫色)Javascript中的 / src Typescript(蓝色)。 / p>

enter image description here

您可以在左侧的源文件中看到引用.ts模块文件,该文件未编译为引用右侧的.js模块文件。

为什么不呢?如果tsc没有转换引用,Javascript怎么可能运行?

第二个问题:然后我尝试手动将已编译的引用从 .ts 更改为 .js 并运行 node dist / server.js 但是我收到错误无法找到模块工具/ typescriptImport.js' 。为什么节点在正确引用时无法找到模块(你可以在最右边看到它是一个模块)?

2 个答案:

答案 0 :(得分:2)

您不应该在.ts命令中编写扩展名import

相应文档:http://www.typescriptlang.org/Handbook#modules-going-external

答案 1 :(得分:2)

对于初学者,您必须从.ts中删除import扩展名。 TypeScript表示它将其视为静态字符串,不会更改它。

其次,根据经验,我猜使用.d.ts文件可能会解决您的module not found错误。我通过使用这个小黑客已经解决了很多次。您可以使用/// <reference path="tools/typeScriptImports.d.ts" />来引用它。想象一下.d.ts作为TypeScript的头文件。

最后,尝试创建相对于server.js文件的路径。所以:./tools/typeScriptImports