为什么 node.js 不是 运行 外部 js 文件?

Why is node.js not running external js files?

我开始了 Web 开发课程的 node.js 部分,介绍性视频显示老师使用终端创建新的 js 和 html 文件,然后 运行s js 文件使用 node,我按照步骤和 js 脚本 运行,然后在下一个视频中,老师制作了另一个带有 console.log("Some hello message") 和第二个 console.log(process.argv) 我在 VSCode 中输入了这个,我尝试 运行ning 它,因为我被教导:节点 fileName.js 而脚本没有 运行s ,所以我认为我的脚本有错字或有问题,但事实并非如此,无论脚本的位置、名称或内容如何,​​输入节点 filenName.js 都不会 运行 任何脚本,我几乎一整天都在这上面没有结果,我只是不断收到相同的消息 Uncaught SyntaxError: Unexpected Identifier,如果我输入文件的具体位置,我会得到相同的结果而不是像这样在带有 js 脚本的文件夹中:node c/Users/user/Documents/fileName.js

我在包含我想要的 js 文件的文件夹中 运行,我尝试将脚本放在我的命令行开始的根目录中,我已经尝试 运行ning 来自其他非默认目录的脚本,结果是相同的消息。

如果我键入 .load fileName.js 脚本 运行s,这似乎是 运行 将脚本与节点 fileName.js 结合在一起的特定问题,我'我完全迷失了,我在这里寻找答案,但我没有找到针对我的特定问题的解决方案,所以我不想为类似问题实施任何解决方案,因为它们涉及更改默认目录和其他措施其他人说他们不推荐,因为他们可能会扰乱管理员功能,老实说,这是我第一天使用节点,我不太确定如何在这里进行,或者这是一个简单修复的小问题,或者我是否必须删除并重新安装我读过的节点也可能有点痛苦,因为您必须手动清理系统才能安装新的节点。[我的 node.js 而不是 运行 一个简单的 js 脚本][1]

命令行

ramaz@DESKTOP-28ABSA2 MINGW64 ~/Documents
$ node
Welcome to Node.js v14.16.0.
Type ".help" for more information.
> node firstScript.js
node firstScript.js
     ^^^^^^^^^^^

Uncaught SyntaxError: Unexpected identifier
>

JavaScript 文件

for (let i = 0; i <  10; i++) {
    console.log("Hello From First Script!")
}

结论:这不是问题,我课程的老师只是在命令行中 运行s 节点 fileName.js,他从不进入 REPL,我要感谢你们感谢您花时间回复此问题。

我完全按照您的指示操作了。 我创建了一个名为“'myfile.js'”的文件,其中包含

console.log("some hello message")
console.log(process.argv)

for (let i = 0; i <  10; i++) {
    console.log("Hello From First Script!")
}

然后,在包含文件的目录中,我键入节点 myfile.js,它工作正常。

它打印出来

some hello message
[
  'C:\Program Files\nodejs\node.exe',
  'C:\Users\WilliamOHara\subscripify-repositories\myfile.js'
]
Hello From First Script!
Hello From First Script!
Hello From First Script!
Hello From First Script!
Hello From First Script!
Hello From First Script!
Hello From First Script!
Hello From First Script!
Hello From First Script!
Hello From First Script!

开始开发可能有点令人沮丧。确保您的文件内容完全

console.log("some hello message")
console.log(process.argv)
for (let i = 0; i <  10; i++) {
    console.log("Hello From First Script!")
}

您可能忘记了 process.argv 周围的括号或遗漏了 consolelog

之间的 .

我继续在我的文档目录中创建了相同的 firstScript.js 文件及其内容。我认为不需要重新安装节点。我认为这个问题只是节点 repl 的限制。

当您在终端中输入节点时,您就进入了节点 REPL.it 模式 - 一个非常适合测试 JS 代码的平台。 Here's more info on this:

不幸的是,在 repl.it 你不能 运行 除了原始文件之外的任何文件。如果你想在 node.js 上 运行 另一个文件,你可以这样做:

我在这里所做的只是将文件 firstScript.js 导入我的节点 REPL 并在一行中全部执行。如果还有问题,请告诉我!