var jsonServer = require("json-server"); // 引入jsonServer var jsonServer = newjsonServer(); // 实例化jsonServer var apiRouter = express.Router(); var fs = require("fs"); apiRouter.route("/:apiName").all(function (req, res) { fs.readFile("./db.json", "utf8", function (err, data) { if (err) throw err; var data = JSON.parse(data); if (data[req.params.apiName]) { res.json(data[req.params.apiName]); } else { res.send("no such api name"); } }); });
db.json 是当前访问页面的同级目录下的 json
json-server 使用方法官方简单例简介
1 2 3 4 5 6 7 8 9 10
var jsonServer = require("json-server"); // 引入 varServer = jsonServer.create(); // 搭建server varRouter = jsonServer.router("db.json"); // 关联自己的db数据 var middlewares = jsonServer.defaults(); Server.use(middlewares); Server.use(router); server.listen(3000, function () { 监听端口; console.log("JSON Server is running"); });
测试服务器的模拟搭建和使用
案例:json-server 搭建之后在组件中调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14
exportdefault { created: function () { this.$http .post("api/getNewsList") // 调用api下的getNewsList方法 .then( function (res) { console.log(res.data); // res.data就是拿到的数据 }, function (err) { console.log(err); } ); }, };
打开控制台,console 里面能到成功的回调数据 Network 中的 XHR 中能看到 getNewList 发送了一个 POST 请求
使用 JSON Server 搭建 Mock 服务器
vue-cli-mock vue-cli 添加本地 mock 服务框架
1 2 3 4 5
npm install //install dependencies npm run dev //serve with hot reload at localhost:8080 npm run build //build for production with minification npm run mock //run mock serve localhost:3000 npm run mockdev //run serve with mock serve