繁体   English   中英

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

[英]How to fix `SyntaxError: Invalid or unexpected token` when trying to run Node.js app

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

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

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

  2. 在 VS Code: 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 您应该看到 output:“Hello World”。

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

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)完全陌生,我不知道该怎么做。 我该如何解决这个问题?

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

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

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

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

那么Node.js就明白了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM