从Windows命令行运行tsc

Neo*_*ist 6 windows node.js typescript

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

我的目标是在IntelliJ中为我的TypeScript源代码生成输入,但我想学习使用Windows命令行,因此我可以显式指定命令行选项以修改每个选项的功能.我很困惑与设置和使用谷歌相关的各种花絮...我确信我遗漏了一些非常基本的东西,那些博客或回答问题的人都认为是常识. .

这是我尝试过的以及我所看到的......

第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
Run Code Online (Sandbox Code Playgroud)

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

我通过Google搜索找到的示例采用以下形式:

编译单个文件:

tsc app.ts

以上示例来自http://www.primordialcode.com/blog/post/typescript-command-line-compiler

这不起作用,因为:

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

  2. 更重要的tsc是,该文件不是Windows可执行文件... #!Unix脚本(shebang)是一个死的赠品.

检查tsc文件:

#!/usr/bin/env node
require('../lib/tsc.js')
Run Code Online (Sandbox Code Playgroud)

第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
Run Code Online (Sandbox Code Playgroud)

好的......让我们指定tsc脚本的完整路径:

C:\>node

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

...
Run Code Online (Sandbox Code Playgroud)

字面上唯一的输出是...指定tsc脚本的完整路径...我猜它需要参数...但是tab按键显示了一个似乎是节点命令(而不是tsc命令)的列表...所以我已经不知道这里发生了什么......

现在我被卡住了

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

和/或

是否有教程或网站可以帮助我从干净的Windows系统转到能够从命令行使用TypeScript编译器为我的TypeScript源文件生成输入?

Mat*_*ens 17

您不应将TypeScript的bin文件夹直接添加到Windows PATH.如您所知,该文件bin夹中的文件无法直接从命令行执行.

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

%APPDATA%\npm
Run Code Online (Sandbox Code Playgroud)

尝试更新PATH以包含此文件夹,重新打开命令行并tsc再次尝试运行.

附注:Windows的Node.js安装程序默认将Node和NPM添加到Windows路径.如果您正常安装了Node.js,那应该可以正常工作.有关如何设置节点的特别之处?

  • 出于某种原因,我不得不将%APPDATA%\npm的扩展版本添加到我开始工作的路径...我非常感谢你的帮助......现在我可以回去工作了......谢谢!:) (2认同)