运行json-server时出现SyntaxError错误,该如何解决?
问题解决:json-server启动报错SyntaxError: Unexpected token {
问题原因
当前使用的Node.js版本过低,不兼容json-server最新版本的ES模块语法(如import语句)和node:fs模块前缀写法。json-server 1.x及以上版本采用ES模块规范,而旧版Node.js(低于14.13.0)默认仅支持CommonJS模块,无法解析这类语法,从而触发报错。
解决方案
方案1:升级Node.js版本
- 先检查当前Node.js版本:
node -v - 若版本低于14.13.0,升级到LTS版本(推荐16.x或更高):
- 直接下载对应系统的Node.js安装包完成升级
- 或使用nvm(Node版本管理器)切换版本,命令示例:
# 安装nvm后执行以下命令 nvm install --lts nvm use --lts
方案2:安装兼容旧Node.js的json-server版本
如果不想升级Node.js,可安装基于CommonJS规范的json-server 0.x稳定版本:
npm uninstall -g json-server npm install -g json-server@0.17.4
验证
完成上述任一操作后,重新执行启动命令:
json-server -p 8080 -w ./data/db.json
此时服务应能正常启动并返回API端点链接。
内容的提问来源于stack exchange,提问作者Omoleye Osadare
相关产品推荐
相关产品推荐

