【问题标题】:Why does command "tsc file.ts" give no output and not produce a js file?为什么命令“tsc file.ts”没有输出,也没有生成 js 文件?
【发布时间】:2015-09-29 00:51:49
【问题描述】:

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

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

tsc --noImplicitAny --noEmitOnError --out client/welcome.js client/welcome.ts
make: *** [client/welcome.js] Error 1

我还尝试创建一个示例打字稿文件greeter.ts(根据this official tutorial),其中包含:

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

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

我以前根本没有使用过 typescript,虽然我之前使用过 Makefile,但我对它们也不太了解,所以我希望它真的很明显!

【问题讨论】:

    标签: makefile typescript linux-mint


    【解决方案1】:

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

    "noEmit": true
    

    删除后就可以了。

    【讨论】:

      【解决方案2】:

      --noEmitOnError

      这意味着如果检测到错误不会生成js。我强烈建议不要使用此选项(更改why typescript 的主要好处)

      更多

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

      更新

      --version 命令至少应该可以工作。见下文:

      【讨论】:

      • 谢谢!我认为这有点帮助。关于如何检查版本的任何想法? tsc --version 什么都不做,而且似乎没有 tsc 的 linux 手动条目。
      • which tsc应该告诉你tsc的位置
      • 我在文件 /usr/local/lib/node_modules/typescript/lib/tsc.js 的第 29357 行找到了包含 ts.version = "1.6.2" 的行,所以这可能意味着我有 1.6.2 版本。 . 如果它在文件的顶部会更容易!
      • @HighlyIrregular tsc --version 应该确实有效。我刚刚测试了它,它确实有效
      • 谢谢...我的安装一定有问题。我会专注于此。
      猜你喜欢
      • 2012-09-14
      • 2018-04-17
      • 2022-07-27
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多