问题描述
我在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...
未加载:(
我还全局安装了json服务器。 所以当我这样启动时:
json-server -w db.json -p 3001
加载成功:
解决方法
这是由于您已经在应用程序中拥有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"
}
通过此解决方案,您可以从应用程序中存在的静态而非公共目录中调用本地路由。