当前位置: 首页 > 面试题库 >

从Windows命令行运行tsc

宋畅
2023-03-14
问题内容

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

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

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

步骤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步 :天真的尝试tsc直接从Windows命令行运行:

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

编译一个文件:

tsc app.ts

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

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

  1. tscWindows上的安装目录不在Windows上,很显然,通过更改Window PATH环境变量和/或在输入要执行的命令时完全限定文件的路径,可以很容易地对其进行补救或解决。 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')

步骤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

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

C:\> node

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

...

从字面上看,唯一的输出是 ... 在指定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,则应该可以正常工作。关于如何设置节点有什么特别的吗?



 类似资料:
  • 问题内容: 我遇到了一个非常奇怪的问题。我需要在Jenkins中配置代理,以便 能够访问其中一项作业的SVN存储库。我这样做有两种方式: 从命令行使用必需的参数启动Jenkins 在jenkins.xml文件中定义参数时,将Jenkins作为Windows服务启动。 Starting from command line : -Dhudson.model.DirectoryBrowserSuppor

  • 问题内容: 到目前为止,我主要使用eclipse。现在,我正在尝试从终端运行Java,但程序包存在问题。 这是我的文件: 我使用编译此代码,然后运行,它给我: 当我删除一切正常。我想念什么? 给出: 问题答案: 您需要在一个目录级别上运行java命令,并以完全合格的软件包名称提供它,例如: 请参阅Java Launcher如何查找用户类 以了解其工作方式。

  • 问题内容: 我开发了OSGi捆绑包,通常通过Eclipse进行测试。在导出捆绑包之后,我得到了bundle.jar文件。我希望能够从命令行运行生成的文件。就像是: C:\ java -jar bundle.jar osgi_framework路径 但是,如何在其中包含osgi框架?而且,如何立即启动捆绑包? 问题答案: 您可以从命令行启动OSGi框架,如下所示。首先是春分: 注意 用VERSION

  • 使用 Vert.x ,通常可以直接在 Maven 或 Gradle 项目中添加 Vert.x core 库依赖。 还可以直接从命令行运行 Vert.x verticles。 做到这一点,你需要下载和安装一个 Vert.x ,并将安装的bin目录添加到PATH环境变量。还要确保PATH有 Java 8 JDK. 注意! JDK是需要支持的Java代码的即时编译。 现在可以通过使用vertx run命

  • 问题内容: 我正在尝试从命令行运行.class文件。当我手动移动到存储目录时,它会起作用,但是当我尝试这样的操作时: 它说找不到主班。除了制作.jar文件(我知道.jar是最好的解决方案,但现在不是我正在寻找的解决方案)之外,还有其他解决方案吗? 问题答案: 在Java应用程序启动(又名或干脆)预计最多支持四个不同的方式来指定要启动(取决于Java版本使用)的东西。 指定 类名 是最基本的方法。注

  • 问题内容: 我正在尝试从Windows中的命令行执行Java程序。这是我的代码: 我不确定如何执行程序-有帮助吗?在Windows上可以吗?为什么它不同于另一个环境(我以为JVM只写一次,可以在任何地方运行)? 问题答案: 假设你的文件位于 运行命令提示符 这使C:\ mywork成为当前目录。 这将显示目录内容。你应该在文件中看到。 这告诉系统在哪里可以找到JDK程序。 这将运行编译器。除了下一