尝试运行 Node.js 应用程序时如何修复“语法错误:无效或意外令牌”

Ary*_*hur 3 javascript node.js visual-studio-code

我已经从官方网站安装了Node.js。

按照这些 Microsoft Docs,我尝试通过以下步骤创建我的第一个 Node.js 应用程序:

  1. 打开PowerShell并新建一个目录:mkdir NodeApp,然后进入目录:cd NodeApp

  2. 在 VS Code 中打开目录和你的 app.js 文件: code .

  3. 添加一个简单的字符串变量(“Hello World”),然后通过在“app.js”文件中输入以下内容将字符串的内容发送到您的控制台:

var msg = 'Hello World';
console.log(msg);
Run Code Online (Sandbox Code Playgroud)
  1. 要使用 Node.js 运行“app.js”文件,请在 VS Code 中选择View>打开终端Terminal

  2. 在终端中,输入node app.js。您应该会看到输出:“Hello World”。

按照这些步骤后,我有这个控制台输出:

PS C:\Users\Lenovo\OneDrive\Desktop\DevFiles\NodeApp> node app.js
C:\Users\Lenovo\OneDrive\Desktop\DevFiles\NodeApp\app.js:1
??v


SyntaxError: Invalid or unexpected token
    at Object.compileFunction (vm.js:344:18)
    at wrapSafe (internal/modules/cjs/loader.js:1106:15)
    at Module._compile (internal/modules/cjs/loader.js:1140:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1196:10)
    at Module.load (internal/modules/cjs/loader.js:1040:32)
    at Function.Module._load (internal/modules/cjs/loader.js:929:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47
PS C:\Users\Lenovo\OneDrive\Desktop\DevFiles\NodeApp> 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

由于我对 Node.js(但不是 JavaScript)完全陌生,我不确定该怎么做。我该如何解决这个问题?

T.J*_*der 9

您的文件使用 UTF-16 LE(“小端”)编码。

在状态栏中的编码指示器周围带有圆圈的屏幕截图

Node.js 默认不理解该编码(它假定为 UTF-8;实际上,我什至看不到其他编码的选项......)所以它在文件的第一个“字符”上窒息,因为“字符”看起来不像有效的 JavaScript 语法。(在这种情况下,前两个字节是字节顺序标记 [BOM]。UTF-16 几乎总是以 BOM 开头,指示它是小端还是大端。)

单击 vscode 右下角的“UTF-16 LE”并选择“Save with Encoding”并将其另存为 UTF-8(不是“UTF-8 with BOM”,只是“UTF-8”)。

然后 Node.js 就会理解它。