dchester / epilogue

Create flexible REST endpoints and controllers from Sequelize models in your Express app
846 stars 116 forks source link

app[self.method] is not a function #229

Open anuxs opened 6 years ago

anuxs commented 6 years ago

use epilogue in koa,like this :

const Koa = require('koa');
const bodyParser = require('koa-bodyparser');
let app = new Koa();
app.use(bodyParser());
let server = http.createServer(app.callback());
epilogue.initialize({
  app: app,
  sequelize: database
});
let userResource = epilogue.resource({
  model: User,
  endpoints: ['/googles', '/googles/:id']
});

module's version just like this:

  "dependencies": {
    "epilogue": "^0.7.1",
    "koa": "^2.4.1",
    "koa-bodyparser": "^4.2.0",
    "sequelize": "^3.31.1",
  },

error like this

sequelize/node_modules/epilogue/lib/Controllers/base.js:76
  app[self.method](endpoint.string, function(req, res) {
                  ^

TypeError: app[self.method] is not a function
    at Create.Controller.route (/Users/langge/dev/test/h5js/script/sequelize/node_modules/epilogue/lib/Controllers/base.js:76:19)
    at Create.Controller.initialize (/Users/langge/dev/test/h5js/script/sequelize/node_modules/epilogue/lib/Controllers/base.js:33:8)
    at Create.Controller (/Users/langge/dev/test/h5js/script/sequelize/node_modules/epilogue/lib/Controllers/base.js:9:8)
    at new Create (/Users/langge/dev/test/h5js/script/sequelize/node_modules/epilogue/lib/Controllers/create.js:8:17)
    at Resource.<anonymous> (/Users/langge/dev/test/h5js/script/sequelize/node_modules/epilogue/lib/Resource.js:94:32)
    at Array.forEach (<anonymous>)
    at new Resource (/Users/langge/dev/test/h5js/script/sequelize/node_modules/epilogue/lib/Resource.js:90:16)
    at Object.resource (/Users/langge/dev/test/h5js/script/sequelize/node_modules/epilogue/lib/index.js:62:20)
    at Object.<anonymous> (/Users/langge/dev/test/h5js/script/sequelize/koa.js:39:29)
    at Module._compile (module.js:643:30)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Function.Module.runMain (module.js:684:10)
    at startup (bootstrap_node.js:187:16)