json-server主页未显示

问题描述

我在package.json中添加了npx create-react-app创建了一个react-app,并添加了json-server并运行脚本。

"devDependencies": {
   "json-server": "0.14.2","react-scripts": "1.0.10","styled-components": "^2.1.1"
},"scripts": {
    "apiserver": "json-server -p 3001 -w tools/db.json",

当我使用npm run apiserver启动json服务器时,它成功启动。但是不会加载主页。

 \{^_^}/ hi!

  Loading tools/db.json
  Done

  Resources
  http://localhost:3001/posts

  Home
  http://localhost:3001

  Type s + enter at any time to create a snapshot of the database
  Watching...

未加载:(

enter image description here

我还全局安装了json服务器。 所以当我这样启动时:

json-server -w db.json -p 3001

加载成功:

enter image description here

解决方法

这是由于您已经在应用程序中拥有public目录,并且解决方法已说明为here

对我来说,我尝试传递公用文件夹的静态URL并起作用。

因此,对您来说,一个简单的解决方案是将apiserver脚本更新为以下内容;

"apiserver": "json-server -p 3001 -w tools/db.json -s ./node_modules/json-server/public"

,

在项目的根目录中创建json-server.json文件,然后添加自定义配置:

{
  ...,"static": "./node_modules/json-server/public"
}

通过此解决方案,您可以从应用程序中存在的静态而非公共目录中调用本地路由。