运行node index.js出现Unexpected token ')'语法错误如何解决
问题根源
你当前运行的index.js文件和你贴出的代码不是同一个版本:报错日志里的代码为app.use(morgan)('common')),存在两处语法错误:
morgan的传参位置错误,被写到了app.use()的外部- 末尾多了一个多余的右括号
)
修复步骤
- 先确认你打开编辑的
index.js就是你执行node index.js时运行的目标文件,检查morgan相关行的代码,确保和你贴出的一致:app.use(morgan("common"));,保存后重新运行即可解决该语法报错。
其他前置运行错误提示
解决上述语法问题后,你还需要修改以下代码问题才能正常启动服务:
- 你注释了
methodOverride的引入语句// const methodOverride = require("method-override");,但代码中仍保留了app.use(methodOverride());调用,运行会报变量未定义错误,要么取消该引入的注释并执行npm install method-override安装依赖,要么直接删除app.use(methodOverride());这一行。 - 新增用户接口中使用了
uuid.v4()生成ID,但你没有引入uuid依赖,需要先执行npm install uuid安装,再在文件头部添加引入语句const uuid = require('uuid');。 - 定义了重复的
/movies/:title路由,且第二个路由开头缺失斜杠写成了movies/:title,可删除冗余的重复路由,若要实现按电影名查类型的功能,可将路由改为/movies/:title/genre,返回逻辑调整为res.json(movies.find(...).genre)即可。
内容的提问来源于stack exchange,提问作者SuzyD2021
相关产品推荐
相关产品推荐

