gpt4 book ai didi

node.js - 子路由无法在 koa-router 的单独文件中工作

转载 作者:太空宇宙 更新时间:2023-11-03 22:11:24 25 4
gpt4 key购买 nike

我的 koa@next 应用程序具有以下结构。我使用 koa-router@next 进行路由:

./app.js

const Koa = require('koa');
const router = require('koa-router')();

const index = require('./routes/index');

const app = new Koa();

router.use('/', index.routes(), index.allowedMethods());
app
.use(router.routes())
.use(router.allowedMethods());

module.exports = app;

./routes/index.js

const router = require('koa-router')();

router.get('/', (ctx, next) => {
ctx.body = 'Frontpage';
});

router.get('/hello', (ctx, next) => {
ctx.body = 'Hello, World!';
});

module.exports = router;

我在 /hello 路线上收到 Not Found 错误。

依赖版本:

"dependencies": {
"koa": "^2.0.0-alpha.7",
"koa-router": "^7.0.1",
},

koa-router v7.1.0 相同。

感谢您的帮助!

最佳答案

像这样重构应用程序可以解决问题。我想现在是时候在精神上抛弃 Express 了。

./app.js

import Koa from 'koa';
import index from './routes/index';

const app = new Koa();

app.use(index.routes(), index.allowedMethods());

export default app;

./routes/index.js

import Router from 'koa-router';

const router = new Router();
//const router = new Router({ prefix: '/subroute' })

router.get('/', (ctx, next) => {
ctx.body = 'Frontpage';
});

router.get('/hello', (ctx, next) => {
ctx.body = 'Hello, World!';
});

export default router;

关于node.js - 子路由无法在 koa-router 的单独文件中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40866134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com