Mongoose入门报错:Unexpected token { 问题排查求助
排查思路
检查Node.js版本
报错里的catch {是ES2019引入的可选catch绑定语法,你的Node.js版本过低,不支持该语法。执行node -v查看当前版本,需升级到Node.js 10.13.0及以上版本(该版本开始原生支持此语法)。如果无法升级Node,就得调整依赖版本适配旧环境。核对mongoose与Node.js的兼容性
不同版本的mongoose对Node.js版本有明确要求,比如新版mongoose可能需要Node 14+。执行npm list mongoose查看已安装的mongoose版本,确认该版本是否适配你的Node环境。若Node版本无法升级,可降级mongoose到兼容旧Node的版本(比如mongoose 5.x系列)。彻底清理依赖并重装
重新安装mongoose可能没彻底解决问题,因为报错来自它依赖的mongodb包。执行以下操作:rm -rf node_modules npm cache clean --force npm install这样能确保安装的所有依赖都是适配当前环境的版本。
处理锁文件问题
package-lock.json或yarn.lock可能固定了mongodb的高版本,导致安装了不兼容旧Node的包。可以删除锁文件后重新执行npm install,让包管理器自动选择适配你Node版本的mongodb版本;或者手动修改锁文件,指定mongodb为3.x这类兼容旧语法的版本。
内容的提问来源于stack exchange,提问作者Brett
相关产品推荐
相关产品推荐

