0
我使用hapi-shelf工作,但是我试图得到一个jsonapi响应,并且找不到实现bookhelf-jsonapi-parms的方法,所以我尝试使用原来的书架包。为什么我的API说fetchAll不是函数?
`类型错误:未捕获的错误:Driver.fetchAll不是函数
server.js
'use strict';
const Hapi = require('hapi');
const bodyParser = require('body-parser');
const port = 9200;
const dbConfig = require('./config/config');
const server = new Hapi.Server();
server.connection({
port: port,
routes: {
cors: true
}
});
var knex = require('knex')({
client: 'mysql',
connection: {
"host": "127.0.0.1",
"user": "user",
"password": "pass",
"database": "db"
}
});
server.bookshelf = require('bookshelf')(knex);
server.start((err) =>{
if(err){
throw err;
}
console.log('Server running on port ', port);
});
module.exports = server;
require('./routes');
型号/ driver.js
var bookshelf = require('../server').bookshelf;
module.exports = function (bookshelf) {
var Driver = bookshelf.Model.extend({
tableName: 'drivers'
});
return bookshelf.model('Driver', Driver);
};
控制器/ drivers.js
'use strict';
var server = require('../server');
var bookshelf = server.bookshelf;
var Driver = require('../models/driver');
exports.index = server.route(
{
method: 'GET',
path: '/drivers',
config: {
handler: function(request, reply){
Driver.fetchAll().then(function(drivers){
reply(drivers);
})
}
}
}
);
感谢您的奖金提示!我注意到类似的东西,但在我看到这个答案之前,它的效率不高。虽然好信息! –