Javascript Hello World示例的Node.js错误

Javascript Hello World示例的Node.js错误,javascript,node.js,Javascript,Node.js,我是node.js的新手 我刚在我的windows机器上安装完。事实上,我正在学习关于TutorialPoint的教程。安装后,我被告知创建一个main.js文件,并将以下代码放入该文件中 /* Hello, World! program in node.js */ console.log("Hello, World!") 我使用Node.js解释器通过键入$Node main.js来执行main.js文件,但出现以下错误 SyntaxError: Unexpected identifiera

我是node.js的新手 我刚在我的windows机器上安装完。事实上,我正在学习关于TutorialPoint的教程。安装后,我被告知创建一个main.js文件,并将以下代码放入该文件中

/* Hello, World! program in node.js */
console.log("Hello, World!")
我使用Node.js解释器通过键入$Node main.js来执行main.js文件,但出现以下错误

SyntaxError: Unexpected identifierat Object.exports.createScript      
(vm.js:24:10)
at REPLServer.defaultEval (repl.js:221:25)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.<anonymous> (repl.js:412: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)
SyntaxError:意外的identifierat Object.exports.createScript
(vm.js:24:10)
在REPLServer.defaultEval(repl.js:221:25)
绑定时(domain.js:280:14)
在REPLServer.runBound[as eval](domain.js:293:12)
在服务器上。(回复js:412:12)
在emitOne(events.js:82:20)
在REPLServer.emit上(events.js:169:7)
在REPLServer.Interface.\u在线(readline.js:210:10)
在REPLServer.Interface.\u行(readline.js:549:8)
在REPLServer.Interface.\u ttyWrite(readline.js:826:14)

请帮帮我。谢谢。

我想,您不是从shell运行
节点main.js
,而是从节点
REPL
运行

之前不需要运行
节点

$ cat main.js
console.log("Hello, World!")
$ node main.js
Hello, World!
嗯,你在窗户上。 然后,您应该在cmd.exe中执行以下操作:

c:\...> cd c:\projects\hello
c:\...> type main.js
console.log("Hello, World!")
c:\...> node main.js
Hello, World!
注意:
cat
type
以上命令是多余的,仅用于文件内容演示


另外,当您进入
nodejs
REPL
时,您可以直接编写
javascript
代码。
试试看:

> console.log('Hey');
'Hey'
undefined
> require('./main.js');
Hello, World!
undefined
> exit
Bye-bye

听起来你在(阅读-评估-打印循环)中。尝试按几次
ctrl+c
,查看是否退出到命令提示符。然后尝试运行
节点main.js
。您应该看到所需的输出。

在测试程序之前,不要运行
节点

您可以使用windows 7的普通命令提示符从任何地方运行node,但必须使用确切的文件路径指定js文件名

例如:c:\users[your name]>node d:\projects\js\u files\main.js


如果您在执行任何操作之前设置了path=“c:\progam files\nodejs\bin”环境变量,它将起作用。

我想,您运行的是
node main.js
不是从shell,而是从node REPL)可能的重复,请您进一步解释。当你说cmd.exe时,是windows还是nodejs cmd?我说的是标准的windows shell。我不知道你是如何在windows上安装NodeJ的。我根本不用窗户。可能你已经安装了
cygwin
?但是我没有安装cygwin。你如何打开一个窗口来编写
node main.js
?我搜索cmd并在windows开始菜单上运行它。我使用的是windows机器。这不重要。您所犯的错误(我认为)是在提示符中输入“node”,点击enter,然后尝试运行“node main.js”。你不能这样做。只需从主命令提示符运行“node main.js”。不要做第一个“节点”,所以我运行你说的,但是输出是空的,没有来自cmd的错误。任何理由。谢谢你我能想到的另一件事是你没有在正确的目录中。您需要将cd刻录到main.js文件所在的目录中,然后运行“node main.js”。要么是这样,要么是你在main.js文件本身做错了什么。你能进一步解释一下吗。谢谢当您输入
节点
并输入时,您将进入节点
REPL
环境。在
REPL
中,您应该直接编写代码。比如
console.log(“Hello World”)
。如果要测试javascript文件,应该运行
node xx.js