从Windows命令行运行tsc

已安装并正在IntelliJ IDEA 15中被积极使用

我的目标是在IntelliJ中为我的TypeScript源代码生成类型,但是我想学习使用Windows命令行,因此我可以显式指定命令行选项,以了解每个选项的作用。我对Googling所发现的与设置和使用它有关的各种花絮感到困惑…我敢肯定,我缺少一些非常基本的知识,那些博客或回答问题的人都认为这是常识。

这是我尝试过的和正在看到的…

:安装打字稿:

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

:天真的尝试tsc直接从Windows命令行运行:

我通过Googling找到的示例采用以下形式:

tsc app.ts

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

compiler

如图所示,该方法不起作用,因为:

  1. tscWindows上的安装目录不在Windows上,很显然,通过更改Window PATH环境变量和/或在输入要执行的命令时完全限定文件的路径,可以很容易地对其进行补救或解决。 C:\Users\{my user id}\AppData\Roaming\npm\node_modules\typescript\bin``tsc

  2. 更重要的tsc是,该文件不是Windows可执行文件… #!Unix脚本(shebang)简直就是天赐之物。

检查tsc文件:

#!/usr/bin/env node

require('../lib/tsc.js')

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

C:\>

>

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

确定…让我们指定tsc脚本的完整路径:

C:\>

>

...

从字面上看,唯一的输出是 在指定tsc脚本的完整路径时……我猜想它需要参数……但按一下tab键会显示似乎是

命令(而不是tsc命令)的列表……所以我已经不知道这是怎么回事…

现在我被卡住了

我需要安装/配置/使用什么环境来调用tsc(如http://www.primordialcode.com/blog/post/typescript-

command-line-compiler所示)?

和/或

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

回答:

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

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

%APPDATA%\npm

尝试更新您的PATH文件夹以包括该文件夹,重新打开命令行,然后再次运行tsc

旁注:Windows的Node.js安装程序默认情况下会将Node和NPM添加到Windows路径。如果您已正常安装Node.js,则应该可以正常工作。关于如何设置节点有什么特别的吗?

以上是 从Windows命令行运行tsc 的全部内容, 来源链接: utcz.com/qa/434976.html

回到顶部