Node js初学者程序中的意外标识符

时间:2016-08-29 10:02:55

标签: node.js

这是我的main.js中的一个简单代码

/* Hello, World! program in node.js */
console.log("Hello, World!")

当我执行$ node main.js时 我得到错误意外标识符?

3 个答案:

答案 0 :(得分:2)

您正在尝试从节点repl本身执行该程序,这是错误的。您必须使用终端/命令提示符/ shell中的程序名执行节点,而不是从节点本身执行。

单独启动节点将运行repl,您可以在其中直接执行JavaScript命令。所以你可以在repl。中输入console.log("Hello, World");

答案 1 :(得分:0)

我遇到了同样的问题,我是这样解决的:

当您输入命令时:

 node main.js

您访问了节点副本。

<块引用>

节点。 js Read-Eval-Print-Loop (REPL) 是一个处理 Node.js 表达式的交互式 shell。 shell 读取用户输入的 JavaScript 代码,评估解释代码行的结果,将结果打印给用户,然后循环直到用户发出退出信号。” (堆栈滥用。2019 年 9 月 18 日)

所以基本上,您试图从 Javascript 文件中运行 JavaScript 文件。

解决方案是在访问节点之前运行Javascript文件。

因此,您应该使用以下命令退出节点:

.exit

然后,只需运行 JavaScript 文件:

node filename.js

参考资料: 数字海洋。 2019 年 9 月 18 日。堆栈滥用。如何使用 Node.js REPL。检索自:https://www.digitalocean.com/community/tutorials/how-to-use-the-node-js-repl

答案 2 :(得分:-1)

node. js> $ node main.js 
SyntaxError: Unexpected identifier at Object.exports.createScript (vm.js:24:10) 
at REPLServer.defaultEval (repl.js:235:25) at bound (domain.js:287:14) 
at REPLServer.runBound [as eval] (domain.js:300:12) 
at REPLServer.<anonymous> (repl.js:431:12) 
at emitOne (events.js:82:20) 
at REPLServer.emit (events.js:169:7) 
at REPLServer.Interface._onLine (readline.js:212:10) 
at REPLServer.Interface._line (readline.js:551:8) 
at REPLServer.Interface._ttyWrite (readline.js:828:14)

您在评论中转储的堆栈跟踪表明您正在使用模块readline。因此,您发布的代码不是您希望我们调试的代码。

您要么没有调用正确的文件,要么没有发布正确的文件。

编辑:

你所说的你创建了一个主文件:

/home/jiju/test/main.js

其中包含:

console.log('Hello World');

但我认为你所说的不是正确的文件:

cd home/jiju
node main.js

其中包含(至少):

require('readline');

您应该做的是确保您正在调用正确的文件,您可以使用命令cat检查:

cd /home/jiju
cat main.js #Will print "require('readline');"

并拨打正确的文件:

cd /home/jiju/test
cat main.js #Will print "console.log('HelloWorld')"
node main.js