Node.js命令提示符和.exe文件的区别

11

非常抱歉,如果这是一个非常普遍的问题,但我已经找了一圈也找不到答案。

我正在Windows上运行node.js,它有2个安装项:Nodejs.exeNode.js命令提示符。我已经用命令提示符成功地运行了脚本,但我无法弄清楚exe版本的作用。我想要使用的--debug标志似乎只在exe上起作用。它似乎类似于Python idle,您可以键入d = 6,然后键入d并返回数字6,但我找不到它的其他功能。

能否有人帮忙解释一下它的作用?非常感谢!

2个回答

14

安装NodeJS在Windows上会提供两个快捷方式:

Node applications installed on Windows

  1. Node.js = 这是一个内置的shell,用于测试和执行JavaScript代码。如果在命令提示符中键入node(假设node.exe在路径中),它与直接键入相同。它非常适合进行简单测试(我经常将其用作计算器)。
  2. Node.js命令提示符 = 这是一个标准的命令提示符,其中路径已被调整以包括node.exe(即NodeJS可执行文件)以及Node Package Manager中的npm。但是,在默认安装中,NodeJS目录已添加到系统路径中,因此node应该可以从任何命令提示符中使用。

因此,您可以使用命令提示符(#2)来启动脚本,例如:

node app.js

其中app.js是你编写的NodeJS代码。

但正如我之前提到的,nodenpm通常在系统路径中,所以我不使用这两个快捷方式。相反,我只是启动一个新的命令提示符:

  1. Win+R
  2. cmd Enter
  3. node Enter

有点晚了,但是你是指“受限制的 shell”吗?我查了一下“被俘虏的 shell”,没有找到什么信息,但是出现了“受限制的 shell”。 - nCardot
1
@Natalie - 不,我没有。Captive账户在*nix操作系统中使用--在Windows中不太常见。但是概念相同。一个可执行的shell程序直接启动--当退出时,shell也会退出。我不知道在Windows中是否有更好的名称。 - WiredPrairie

1
当你在没有任何参数的情况下调用Node可执行文件时,你会打开一个REPL会话
REPL(Read, Evaluate, Print, Loop的缩写)在不同的语言/系统中有不同的用途。然而,通常情况下,你会发现它最有用的时候是:
  • 学习系统并想要测试如何在系统中实现基本概念。(例如:执行简单的文件系统活动)
  • 使用交互式环境测试想法或探索代码问题,以便可以非常快速地查看结果。(例如:加载一小段你编写的代码并调用它以交互方式查看输出,同时进行微调)

当测试特定(通常是简单的)问题时,REPL可能很有用,但当事情变得更加复杂时,REPL会变得笨重。因此,应该在包括Forevernode-supervisor等工具以及健全的TDD选项的Node生态系统的更大背景下理解REPL,这些工具可以成功地用于探索和测试更复杂的设计/问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接