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

JSON Server无法访问ID键及GET请求异常问题求助

问题排查与解决步骤

1. 先确认db.json的结构是否合规

访问/articles/1返回404,首先得检查你的db.json里有没有id=1的文章条目,而且格式必须是标准的JSON数组结构:

{
  "articles": [
    { "id": 1, "title": "测试文章1" },
    { "id": 2, "title": "测试文章2" }
  ]
}

要是id不是数字、条目不存在,或者JSON有语法错误(比如多了逗号),都会直接返回404。

2. 修复Eta模板缺失的报错

终端抛的EtaError是因为全局安装的json-server缺了默认模板文件,大概率是安装时文件损坏或者权限问题,两种解决方式:

  • 手动补全模板文件:
    1. 先创建缺失的路径:mkdir -p /home/emilychew/.nvm/versions/node/v20.9.0/lib/node_modules/json-server/views/
    2. 在这个路径下新建index.html,粘贴官方默认模板内容:
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>JSON Server</title>
      <link rel="stylesheet" href="https://unpkg.com/json-server@0.17.4/dist/server.css">
    </head>
    <body>
      <main>
        <div class="container">
          <h1>JSON Server</h1>
          <div id="resources"></div>
          <p class="footer">
            <a href="https://github.com/typicode/json-server">JSON Server</a>
          </p>
        </div>
      </main>
      <script src="https://unpkg.com/json-server@0.17.4/dist/server.js"></script>
    </body>
    </html>
    
  • 改用本地安装替代全局安装:
    全局安装容易踩权限或文件缺失的坑,建议在项目目录里本地装:
    npm install json-server --save-dev
    
    然后在package.json里加个脚本:
    "scripts": {
      "json-server": "json-server --watch db.json"
    }
    
    运行时敲npm run json-server就行,模板文件会存在项目的node_modules里,不会再缺。

3. 解决--watch命令跑不起来的问题

全局的--watch失效,大概率是nvm的PATH配置有问题或者权限不足:

  • 先检查nvm的全局包路径在不在系统PATH里:
    echo $PATH | grep "/home/emilychew/.nvm/versions/node/v20.9.0/bin"
    
    要是没输出,重新加载nvm:source ~/.nvm/nvm.sh
  • 直接用npx绕开全局安装的问题:
    npx json-server --watch db.json
    

4. 排查请求无终端日志的问题

如果终端没记录请求,先确认请求真的到了json-server:

  • 浏览器开开发者工具(F12),勾选“禁用缓存”后重新请求,避免旧缓存干扰
  • 用curl直接发请求测试,看终端有没有日志:
    curl http://localhost:3000/articles/1
    
    要是curl请求有日志,就是浏览器的问题;要是还是没有,检查3000端口是不是被其他程序占了:
    lsof -i :3000
    
    确保只有json-server在监听这个端口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:57:22