Comment puis-je diviser mes routes koa en fichiers séparés?
J'essaie de comprendre comment scinder mes itinéraires dans des fichiers séparés.
J'ai jusqu'à présent, mais il ne fonctionne pas. Je viens d'obtenir Not found
lorsque j'essaie d'accéder à http://localhost:3001/api/things
//server.js
var koa = require('koa');
var app = koa();
var router = require('koa-router');
app.use(router(app));
require('./routes')(app);
//routes.js
module.exports = function *(app){
app.use('/api/things', require('./api/things'));
};
//api/things/index.js
var Router = require('koa-router');
var router = new Router({
prefix: '/api/things'
});
router.get('/', function *(){
this.body = [{ name: 'Foo'}, { name: 'Bar' }];
});
module.exports = router;
source d'informationauteur chovy
Vous devez vous connecter pour publier un commentaire.
Pour tous ceux qui lisent ce qui est curieux sur la façon de faire dans Koa 2.X:
app.js
routes/root.js
routes/user.js
Si vous voulez éviter la répétition avec le
routes()
et laallowedMethods()
vous pouvez utiliserkoa-compose
pour composer le middleware ensemble. Pour des raisons de simplicité, j'ai fait un wrapper autour d'elle pour simplifier le travail aveckoa-router
. En utilisant cela ressemblerait à quelque chose comme ceci:app.js
routes/index.js
Et il ferait la même chose.
server.js
routes.js
Quelque chose comme cela devrait fonctionner:
Minimaliste approche qui, je pense, TJ de garder à l'esprit quand il a fait
koa, koa-route, koa-mont
Approche avec de petites applications indépendantes qui est monté sur la façon dont vous l'aimez alors:
index.js
app.js
pets.js
Voici ce que j'ai fini par aller avec: