从Windows命令行运行tsc

npm已安装并正在从IntelliJ IDEA 15中使用

我的目标是在IntelliJ中为我的TypeScript源代码生成types,但是我想学习使用Windows命令行,所以我可以明确指定命令行选项来修补,以了解每个选项的作用。 我很困惑的设置和使用它,我已经find谷歌search相关的各种花絮…我敢肯定,我错过了一些非常基本的东西,博客或回答问题假设为共同的知识.. 。

这是我所尝试的和我所看到的…

第1步 :安装打字稿

npm install -g typescript

这会导致在我的系统上安装以下文件/目录结构:

 C:\Users\{my user id}\AppData\Roaming\npm\node_modules\typescript |---bin | |--- tsc | |--- tscserver |---lib | |--- lib.core.d.ts | |--- ... | |--- typescriptServices.js |--- .npmignore |--- ... |--- ThirdPartyNoticeText.txt 

第2步 :天真地尝试从Windows命令行直接运行tsc

我在Google上find的例子是:

编译单个文件:

tsc app.ts

上面的例子来自http://www.primordialcode.com/blog/post/typescript-command-line-compiler

这不起作用,因为:

  1. tsc的安装目录不在Windows Path C:\Users\{my user id}\AppData\Roaming\npm\node_modules\typescript\bin ,显然这很容易通过更改Window PATH环境variables来解决或解决/或input要执行的命令时完全限定tsc文件的path。

  2. 更重要的是tsc文件不是Windows可执行文件… #! Unix脚本( shebang )是一个死的东西。

检查tsc文件:

 #!/usr/bin/env node require('../lib/tsc.js') 

第3步 :尝试从节点命令提示符运行tsc

C:\> node

> tsc

 ReferenceError: tsc is not defined at repl:1:1 at REPLServer.defaultEval (repl.js:252:27) at bound (domain.js:287:14) at REPLServer.runBound [as eval] (domain.js:300:12) at REPLServer.<anonymous> (repl.js:417:12) at emitOne (events.js:82:20) at REPLServer.emit (events.js:169:7) at REPLServer.Interface._onLine (readline.js:210:10) at REPLServer.Interface._line (readline.js:549:8) at REPLServer.Interface._ttyWrite (readline.js:826:14) ^C 

OK …让我们指定tsc脚本的完整path:

C:\> node

> C:\Users\{my user id}\AppData\Roaming\npm\node_modules\typescript\bin\tsc

 ... 

从字面上来说,唯一的输出是...当指定完整path的tsc脚本…我想它需要参数…但按tab键显示似乎是节点命令(而不是tsc命令)的列表。所以我不知道这是怎么回事

现在我卡住了

我需要安装/configuration/使用什么环境来调用tsc (如http://www.primordialcode.com/blog/post/typescript-command-line-compiler )所示?

和/或

有没有一个教程或网站,可以帮助我从一个干净的Windows系统,以便能够从命令行使用TypeScript编译器生成TypeScript源文件的types?

    您不应将TypeScript的bin文件夹直接添加到Windows PATH 。 正如你注意到的,该bin文件夹中的文件不能直接从命令行执行。

    相反, npm为全局安装包中的每个已配置可执行文件创建一个.cmd脚本,并将其放入:

     %APPDATA%\npm 

    尝试更新您的PATH包括此文件夹,重新打开您的命令行,并尝试再次运行tsc

    注意:默认情况下,Windows的Node.js安装程序将Node和NPM添加到Windows路径中。 如果你已经正常安装Node.js,这应该工作得很好。 关于如何设置节点的任何特殊情况?