Javascript 无法在命令提示符下运行nodejs脚本

Javascript 无法在命令提示符下运行nodejs脚本,javascript,node.js,Javascript,Node.js,当我试图在Windows命令提示符下运行一个node.js程序,说明它的位置时,它总是说: [指定位置]未被识别为内部或外部命令、可操作程序或批处理文件 在对类似问题的所有回答中,在所有node.js手册中,假设您可以通过从其位置调用node.js文件来运行该文件。在建立服务器之前,总会有人建议尝试一些helloworld示例,等等 即使我用prompt$cmd清除命令提示符,然后手动写入整个位置,我也会收到相同的消息 当我跑的时候 echo %path% node -v 我得到C:\Pr

当我试图在Windows命令提示符下运行一个
node.js
程序,说明它的位置时,它总是说:

[指定位置]未被识别为内部或外部命令、可操作程序或批处理文件

在对类似问题的所有回答中,在所有
node.js
手册中,假设您可以通过从其位置调用
node.js
文件来运行该文件。在建立服务器之前,总会有人建议尝试一些
helloworld
示例,等等

即使我用
prompt$cmd
清除命令提示符,然后手动写入整个位置,我也会收到相同的消息

当我跑的时候

echo %path%
node -v 
我得到
C:\Program Files\nodejs\bin

当我跑的时候

echo %path%
node -v 
我得到了
v6.10.3

当我跑的时候

node a00.js
(其中
a00.js
是脚本的名称),它认为整个路径是一个模块,所以它说
无法识别该模块


如果我用
prompt$cmd
清除命令提示符,然后运行
node a00.js
,它认为
a00.js
是一个模块,所以它说它
无法识别该模块,因为你的路径知道
node.js
在哪里,但它不知道a00.js在哪里。因此,您需要以
节点
的形式运行该命令,后跟文件路径。(复制所有命令,包括双引号)

举个例子,试试这个

创建一个名为
hello.js
的文件,将其保存在
C:\Windows\Temp\
中(或您喜欢的位置)

现在打开
cmd
并像这样运行它(假设您将它保存在
C:\Windows\Temp\

node "c:\Windows\Temp\hello.js"
如果您从path运行它,这意味着您
CD
到a00.js文件所在的目录,那么您只能作为`node a00.js运行它

例如,假设
a00.js
存在于
C:\Windows\Temp
中:

cd c:\Windows\Temp
node a00.js
重要提示使用任何路径时,请始终将其用双引号括起来

这将导致错误:

node C:\Program Files\test\a00.js
这将有助于:

node "C:\Program Files\test\a00.js"

您的路径知道
node.js
在哪里,但它不知道a00.js在哪里。因此,您需要以
node
的身份运行命令,后跟文件路径。(复制所有命令,包括双引号)

举个例子,试试这个

创建一个名为
hello.js
的文件,将其保存在
C:\Windows\Temp\
中(或您喜欢的位置)

现在打开
cmd
并像这样运行它(假设您将它保存在
C:\Windows\Temp\

node "c:\Windows\Temp\hello.js"
如果您从path运行它,这意味着您
CD
到a00.js文件所在的目录,那么您只能作为`node a00.js运行它

例如,假设
a00.js
存在于
C:\Windows\Temp
中:

cd c:\Windows\Temp
node a00.js
重要提示使用任何路径时,请始终将其用双引号括起来

这将导致错误:

node C:\Program Files\test\a00.js
这将有助于:

node "C:\Program Files\test\a00.js"

当node.js抱怨模块不存在时,我遇到了一个类似的问题,这是因为它允许您使用文件名保存例如If statement.js,但是当您在commander中调用它时,它不喜欢它,因此尝试更改文件名并运行它,这样可以解决类似的问题。

当node.js抱怨modu时,我遇到了类似的问题le不存在,这是因为它允许您使用文件名保存例如If statement.js,但是当您在commander中调用它时,它不喜欢它,因此尝试更改文件名并运行它,这可能会解决类似问题

您是否尝试过使用cmder?
当我运行“echo%path%”时,我得到“C:\Program Files\nodejs\bin”
你不应该在
a00.js
所在的目录下吗?那么如果你运行
node a00.js
,它应该可以工作。嗯,a00.js在nodejs中,它在程序文件中,它在C中。所以我相信我在a00.js所在的目录下,我不是。我会尝试cmder,谢谢。我不知道cmd模拟器是什么,或者它是如何工作的d帮助,但我会研究它。@Algunillo如果你在bin目录中有
a00.js
,那么是的,它会找到a00.js并执行它。但是更可能的是
js
文件在你的项目文件夹中,它可能不会保存在nodeJs bin目录中。因此,首先将路径切换到js文件的位置,然后运行
node a00.js
好吧,我键入“C:\Program Files\nodejs\a00.js”。这是文件的路径,但它告诉我“'Program'不被识别为内部或外部命令,等等。”您是否尝试过使用cmder?
当我运行“echo%path%”时,我得到了“C:\Program Files\nodejs\bin”
你不应该在
a00.js
所在的目录下吗?那么如果你运行
node a00.js
,它应该可以工作。嗯,a00.js在nodejs中,它在程序文件中,它在C中。所以我相信我在a00.js所在的目录下,我不是。我会尝试cmder,谢谢。我不知道cmd模拟器是什么,或者它是如何工作的d帮助,但我会研究它。@Algunillo如果你在bin目录中有
a00.js
,那么是的,它会找到a00.js并执行它。但是更可能的是
js
文件在你的项目文件夹中,它可能不会保存在nodeJs bin目录中。因此,首先将路径切换到js文件的位置,然后运行
node a00.js
好吧,我键入“C:\Program Files\nodejs\a00.js”。这是文件的路径,但它告诉我“'Program'不被识别为内部或外部命令,等等。”太好了!它终于运行了!我相信问题不是将路径括在双引号中。这就是它考虑“Program”的原因正如路径之后一样。谢谢。@Algunillo很高兴,如果您觉得这对您有帮助,请随意将问题标记为正确答案。太好了!它终于运行了!我相信问题不是用双引号括住路径。这就是为什么它被认为是“程序”正如在路径之后一样。谢谢你。@Algunillo很高兴,如果你觉得这对你有帮助,请随时联系我