[英]How to fix `SyntaxError: Invalid or unexpected token` when trying to run Node.js app
我已经从官网安装了Node.js 。
按照这些 Microsoft Docs ,我尝试使用以下步骤创建我的第一个 Node.js 应用程序:
打开 PowerShell 新建目录: mkdir NodeApp
,然后进入目录: cd NodeApp
在 VS Code: code.
添加一个简单的字符串变量(“Hello World”),然后通过在“app.js”文件中输入该字符串的内容将其发送到控制台:
var msg = 'Hello World';
console.log(msg);
要使用 Node.js 运行“app.js”文件,请选择View > Terminal在 VS Code 中打开终端。
在终端中,输入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.