我有一个简单的server.js
文件:
var jsonServer = require('json-server');
var server = jsonServer.create();
var router = jsonServer.router('db.json');
var middlewares = jsonServer.defaults();
server.get('/date', function(req, res) {
var db = router.db;
var date = db.get('date');
res.jsonp(date);
});
server.use(middlewares);
server.use(router);
server.listen(3000, () => {
console.log('JSON Server is running');
});
在同一目录中,我有db.json
:
{
"date": "current"
}
但是date
似乎未定义。
当我在get
方法调用中console.log这个变量时,我可以在console中看到:
__wrapped__: {},
__actions__: [ { func: [Function: get], args: [Object], thisArg: [Function] } ],
__chain__: true,
__index__: 0,
__values__: undefined
}
我通过node server.js
运行json-server。
我将不胜感激。
答案 0 :(得分:0)
Okey,最好仔细阅读文档。
https://github.com/typicode/json-server#add-custom-routes
您提供给jsonServer.router函数的路径是相对于您启动节点进程的目录的。
因此,在server.js
文件的顶部,最好添加:
const router = jsonServer.router(path.join(__dirname, 'db.json'));