Node.js语法错误:参数列表后缺少')',搭建本地服务器遇问题
解决Node.js创建本地服务器时的语法错误问题
嘿,我之前也遇到过一模一样的报错!这个Syntax Error missing ) after argument list其实很好排查,主要有这几个原因和对应的解决办法:
可能的原因
- Node.js版本过低:你用的箭头函数(
() => {})是ES6的新特性,Node.js 4.x以下的版本并不支持这个语法,解析的时候就会报错。 - 代码混入特殊字符:有时候复制粘贴代码的时候会带进全角空格、不可见的控制字符,这些也会让Node.js的解析器搞混,抛出奇怪的语法错误。
解决办法
1. 升级Node.js版本
直接安装最新的Node.js LTS版本,就能原生支持箭头函数了,这是一劳永逸的办法。
2. 替换箭头函数为传统函数表达式
如果暂时不想升级版本,把代码里的箭头函数改成普通的function写法就行,修改后的代码如下:
const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer(function(req, res) { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, function() { console.log(`Server running at http://${hostname}:${port}/`); });
3. 清理代码中的特殊字符
把代码复制到纯文本编辑器(比如VS Code、Notepad++)里,开启显示所有字符的功能,检查有没有全角符号或者奇怪的空格,替换成正常的半角字符就行。
验证方法
修改完代码后,在终端里运行node 你的文件名.js,如果看到控制台输出Server running at http://127.0.0.1:3000/,就说明服务器正常启动了,打开浏览器访问这个地址就能看到Hello World啦!
内容的提问来源于stack exchange,提问作者Prince Hamza
相关产品推荐
相关产品推荐

