为什么命令“tsc file.ts”不输出也不生成js文件?

Hig*_*lar 2 makefile linux-mint typescript

我刚刚开始处理一个带有一些打字稿代码的项目,我正在尝试从 Linux Mint 中将 .ts 文件编译为 .js 文件,但它没有像我预期的那样工作。

有一个 Makefile,但它不起作用。运行make返回错误:

tsc --noImplicitAny --noEmitOnError --out client/welcome.js client/welcome.ts
make: *** [client/welcome.js] Error 1
Run Code Online (Sandbox Code Playgroud)

我还尝试创建一个示例打字稿文件greeter.ts(根据本官方教程),其中包含:

function greeter(person) {
    return "Hello, " + person;
}
var user = "Jane User";
document.body.innerHTML = greeter(user);
Run Code Online (Sandbox Code Playgroud)

并尝试使用命令(按照同一教程)将 ts 文件编译为 javascript,tsc greeter.ts但是命令完成时没有输出,并且没有创建 .js 文件。

我以前根本没有使用过打字稿,尽管在我对它们不太了解之前我已经使用过 Makefile,所以我希望它真的很明显!

Sea*_*ene 14

我遇到了这个问题,因为我的 中有以下行tsconfig.json

"noEmit": true
Run Code Online (Sandbox Code Playgroud)

去掉后就起作用了。


bas*_*rat 6

--noEmitOnError

这意味着如果检测到错误,则不会生成任何 js。我强烈建议不要使用此选项(更改了为什么打字稿的主要好处)

更多的

检查您的tsc版本。您提供的代码适用于1.6

在此处输入图片说明

更新

--version命令至少应该起作用。见下文:

在此处输入图片说明