You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用json-server运行generate.js时遇JSON语法错误求助

问题根源与解决方法

问题出在哪

你遇到的错误是因为json-server默认会把传入的文件当作JSON格式解析,但generate.js是一个Node.js模块(用module.exports导出函数),不是合法的JSON,所以触发了语法错误。你改成ES模块的export default也无效,因为不管哪种模块语法都不符合JSON格式要求,json-server依然会按JSON解析。

另外,这个项目的generate.js是针对旧版本json-server写的,新版json-server(v0.17.0+)对JS数据源的要求有变化,也是导致问题的原因之一。

解决办法

方法1:降级到兼容的旧版json-server

这个项目的代码适配的是旧版json-server,直接降级就能解决:

npm install json-server@0.16.3 --save-dev

然后重新执行:

npx json-server generate.js

方法2:适配新版json-server修改代码

如果不想降级,修改generate.js让它直接导出生成好的数据对象,而不是函数:

function generate() {
  // 保留原generate函数里的所有代码不变
  const courses = [
    // ...原数组内容
  ];
  return { courses };
}

// 直接导出执行后的结果,而不是函数
module.exports = generate();

然后执行原命令即可:

npx json-server generate.js

如果你的项目用ES模块(package.json里有"type": "module"),就改成ES模块的导出方式:

function generate() {
  // 原代码不变
}

export default generate();

内容的提问来源于stack exchange,提问作者Lance_Klusener

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 00:12:21