当我尝试使用节点js运行我的echo.js文件时,我从终端(powershell)收到以下错误消息
PS C:\Users\ASUS\Dropbox\Web Development\Backend\Intro To Node> node echo.js
C:\Users\ASUS\Dropbox\Web Development\Backend\Intro To Node\echo.js:1
(function (exports, require, module, __filename, __dirname) { ��
^
SyntaxError: Invalid or unexpected token
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
答案 0 :(得分:4)
您的echo.js
文件很可能是UTF-16LE编码的,这是node
不支持的编码。
(��
是BOM(Unicode字节顺序标记)字符,node
错误解释为数据)。
要解决此问题,使用 UTF-8 编码保存echo.js
。
虽然您可以选择带有 BOM的UTF-8 ,但这不是必要的,也是最好的避免。
答案 1 :(得分:0)
在Mac中,使用TextEdit。转到“格式”,然后选择“制作纯文本”。然后在保存文件时,选择纯文本编码作为“自定义编码列表”,然后选择Unicode(UTF-8),然后取消选择其他所有内容。
此外,复制粘贴代码时也会出现此错误。在这种情况下,请确保替换单个的逗号,因为复制粘贴代码时格式不同。更换应该可以使错误消失。