繁体   English   中英

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

[英]Why does Typescript compiler not change .ts to .js?

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

在此输入图像描述

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM