4

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

在此处输入图像描述

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

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

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

4

2 回答 2

2

对于初学者,您必须.tsimport. TypeScript 说它将其视为静态字符串并且不会更改它。

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

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

于 2016-01-14T07:46:05.100 回答
2

您不应该.tsimport命令中编写扩展名。

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

于 2016-01-14T07:39:56.497 回答