Node.js 运行报错“应为‘}’”无法正常运行问题咨询
Node.js 报“应为‘}’”语法错误原因及修复
语法错误根因
代码中括号配对不完整,计数如下:
- 左大括号共3处:
http.createServer回调的{、fs.readFile回调的{、if (err)代码块的{ - 右大括号仅1处:仅闭合了
if (err)代码块,剩余2处大括号未闭合 - 同时
http.createServer()、fs.readFile()两个函数调用的右括号也未补全
附带逻辑问题
错误分支已执行res.end()后,后续的res.end(data)仍会执行,会触发响应重复结束的运行时错误。
修正后完整代码
const http = require('http'); const fs = require('fs'); const server = http.createServer((req, res) => { console.log(req); console.log(req.url); res.setHeader('Content-Type', 'text/html'); fs.readFile('./views/index.html', (err, data) => { if (err) { console.log(err); return res.end(); } res.end(data); }); });
修正说明
- 补全2处缺失的右大括号、2处函数调用的右括号,解决语法报错
- 错误分支的
res.end()前加return,避免后续重复执行res.end(),解决潜在运行时错误
内容的提问来源于stack exchange,提问作者A A
相关产品推荐
相关产品推荐

