koa 使用不同的路由请求 (不同的url地址) 能够渲染不同的html页面,类似于多页应用,该怎么实现啊??

就是 当在浏览器地址中输入,http://localhost:3000/ 显示 index.html 的内容, 当 URL变成 http://localhost:3000/users 显示 user.html 的内容 我也使用 koa-router koa-static 这些中间件,但是 不知道怎么这个功能,图片描述

图片描述

阅读 9.2k
1 个回答

koa-router 不是这样玩的! 你这写法是 Express 的写法!具体怎么玩看这里

//正确写法如下
var app = require('koa')();
var router = require('koa-router')();

router.get('/', function *(next) {...});

app.use(router.routes()).use(router.allowedMethods());

如果你想向Express那样把路由分离到外部文件中(如‘routes’文件夹),写法如下

// app.js 或 index.js
var app = require('koa')();
var router = require('koa-router')();
......
const indexRoute = require('./routes/index.js'); //引入路由

indexRoute(router); //应用路由

app.use(router.routes()).use(router.allowedMethods());
//./routes/index.js
const indexRoute = (router)=>{
  router.get('/',(ctx, next)=>{
    ctx.body = render('index',{
      title : 'Koa2 Test!'
    });
  });

  router.get('/user',(ctx, next)=>{
    ctx.body = render('user',{
      title : 'User Test!'
    });
  });
}
module.exports = indexRoute;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进