我正在尝试使用tsc节点包模块将一个打字稿编译成JavaScript。首先,我使用npm install -g typescript
安装了模块。
在我的本地目录中,我创建了一个名为classes.js的文件,其中包含有效的打字稿代码。运行tsc classes.js
时出现以下错误:Error reading file "./classes.js": File not found
由于文件存在,错误没有多大意义。使用绝对文件路径时显示相同的错误。我想知道tsc模块是否有问题,或者我错过了什么?
答案 0 :(得分:3)
typescript编译器专门查找扩展名.str
和.ts
。以下是解析输入文件名的代码:
if(!TypeScript.isSTRFile(normalizedPath) && !TypeScript.isTSFile(normalizedPath)) {
normalizedPath += ".ts";
}
然后,编译器会查找名为normalizedPath
的文件,在您的情况下,该文件对应于classes.js.ts
,该文件不存在。在我看来,编译器应该在这里输出更好的错误信息。
答案 1 :(得分:0)
显然,只有当编译的typescript文件具有 ts 扩展名时,tsc节点模块才有效。我认为这是暂时的限制,可以在未来版本的tsc中修复。