我只是习惯于学习节点,以及从powershell终端执行一个非常简单的应用程序:
node app.js
我收到以下异常:
SyntaxError: Invalid or unexpected token
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:607:28)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
PS C:\Users\kisco\Source\Repos\library> node app.js
C:\Users\kisco\Source\Repos\library\app.js:1
(function (exports, require, module, __filename, __dirname) { ��v
^
SyntaxError: Invalid or unexpected token
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:607:28)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
PS C:\Users\kisco\Source\Repos\library>
这是app.js
的来源:
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('Hello from my libvrary app')
})
app.listen(3000, function(){
console.log('listening on port 3000');
});
我做错了什么?
答案 0 :(得分:5)
您尝试使用encoding
运行的文件似乎存在Node
个问题。有时,使用某个命令行实用程序创建的文件会对文件产生一些编码问题。所以,我建议不要用它们来创建文件。只需使用Right-Click > New File > app.js
创建文件,并使用此app.js
替换旧文件。并尝试运行node app.js
。
答案 1 :(得分:0)
当尝试运行我编译为可执行文件的程序时,出现了同样的错误。我试图运行node而不是仅仅运行./program
。所以我做了node ./program
。
尝试使用node运行可执行文件(与Linux的pkg一起编译)给了我几乎与您在此处遇到的完全相同的错误。
答案 2 :(得分:0)
我有一个类似的问题。我的问题是我从网站上复制粘贴了代码,而编辑器错误地设置了“”符号。因此,我将所有引号替换为“或”,以适用者为准。
那解决了我的问题。
答案 3 :(得分:0)
我也有同样的问题。确实这是一个编码问题。
我们的js文件正在解析从pdf复制/粘贴的另一个文件。
原来,文件中间存在一个损坏的空格字符。
删除它解决了我的问题。
答案 4 :(得分:0)
就我而言,我所要做的只是简单的webstorm(就您而言,它可能是您要使用的文本编辑器使您的Repository用于项目),删除我的项目文件夹并重新安装webstorm然后运行从github获取我的存储库后的以下内容
npm init
npm install mysql
npm install colors
然后是节点index.js
,我的服务器又重新启动了。
请注意,我必须将NodeJS更新到最新版本。
答案 5 :(得分:0)
我通过在 Ubuntu 16 上更新节点版本解决了这个问题
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
答案 6 :(得分:0)
我遇到了更有趣的问题。
SyntaxError: Invalid or unexpected token
at createScript (vm.js:80:10)
但就我而言,我使用的是 nvm 并且忘记将节点版本切换到最新版本。切换到最新版本后它可以工作并且没有出现此异常