前端开发者在後端 api 尚在开发阶段,需要模拟 api 回传一些种子资料时,自行架设一个开发用的 api 服务器会是一个可行的选项。
网路上已有不少人们包装好的 docker 映像档,我是采用 clue/json-server 来执行安装。步骤如下:
docker run -d -p <外联的 port>:80 -v <服务器内存放 json 种子资料的位置>:/data/db.json clue/json-server
# 如:docker run -d -p 80:80 -v /user/andy/articles.json:/data/db.json clue/json-server
http://<IP Address>:<外联的 port>
在你同步进 docker 容器内的 *.json,其格式若是如下的话:
{
"posts":[
{
"id":1,
"body":"foo"
},
{
"id":2,
"body":"bar"
}
],
"comments":[
{
"id":1,
"body":"baz",
"postId":1
},
{
"id":2,
"body":"qux",
"postId":2
}
],
"response":[
{
"id":1,
"message":"Message1"
},
{
"id":2,
"message":"Message2"
}
]
}
那所对应的 API 会有 4 只:
若你需要关於 JSON Server 的细部设定,可以上其 Github Repo:JSON Server 观看。
首要便是查找 log,看有无喷出错误讯息。这点通常会发生在你所传入的 JSON 档有格式错误。
docker logs <container id 或 name>
观察一下 log 如下:
SyntaxError: Malformed JSON in file: db.json
Trailing comma in array at 13:3
]
^
at Object.parseJSON (/usr/local/lib/node_modules/json-server/node_modules/jju/lib/parse.js:745:13)
at parse (/usr/local/lib/node_modules/json-server/node_modules/json-parse-helpfulerror/index.js:10:13)
at Object.fileSyncRead [as read] (/usr/local/lib/node_modules/json-server/node_modules/lowdb/lib/storages/file-sync.js:18:16)
at LodashWrapper.db.read (/usr/local/lib/node_modules/json-server/node_modules/lowdb/lib/common.js:25:24)
at Object.init (/usr/local/lib/node_modules/json-server/node_modules/lowdb/lib/common.js:55:13)
at module.exports (/usr/local/lib/node_modules/json-server/node_modules/lowdb/lib/main.js:25:17)
at module.exports (/usr/local/lib/node_modules/json-server/lib/cli/utils/load.js:36:17)
at start (/usr/local/lib/node_modules/json-server/lib/cli/run.js:122:5)
at module.exports (/usr/local/lib/node_modules/json-server/lib/cli/run.js:159:3)
at module.exports (/usr/local/lib/node_modules/json-server/lib/cli/index.js:81:3)
Found db.json, trying to open
所以在撰写完种子档案後,别忘记贴到如JSON Formatter & Validator做检查。
运用 docker 的容器化技术,外加上前人建置好的映相档资源,着实可以加速前端开发者的进程
<<: Day27 vue.js简易照片上传功能(base64)
虽然已经安装过很多次了,但每次安装都忘记,趁着这次安装,纪录一下过程,其实内容蛮简单的做过的人就别看...
欢迎下载本人自制 PDF分解器 PDFdissector【免费】 PDFdissector.msi ...
请问大神: NEC SV9100 小总机进线会到语音宣告,但按1会跑到特定分机(例711),目前分机...
今天用了sharedpreferences,在mvvm架构上要使用respository来当作mod...
废话不多说,直接附上code 影片含有程序码详细解说,若有误再烦请告知,谢谢 资料下载处 libra...