【问题标题】:How to fix `SyntaxError: Invalid or unexpected token` when trying to run Node.js app尝试运行 Node.js 应用程序时如何修复“语法错误:无效或意外令牌”
【发布时间】:2020-08-04 09:54:32
【问题描述】:

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

按照these 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);
  1. 要使用 Node.js 运行“app.js”文件,请通过选择 View > Terminal 在 VS Code 中打开终端。

  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> 

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

【问题讨论】:

  • 忽略...对不起
  • 文件是 UCS-2 LE BOM 编码的 - 节点不喜欢那样,它不喜欢 UCS-2 BE BOM either - 从来没有见过 VS-Code 这样做,但也许你摆弄了 VS 代码设置

标签: javascript node.js visual-studio-code


【解决方案1】:

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

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 就会明白了。

【讨论】:

    猜你喜欢
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多