hello world

Koa 1.x

  1. $ koa helloworld

Koa 2.x

  1. $ koa2 helloworld

路由

写法说明

Koa 1.x

只要是koa-router写的路由都可以加载的,加载方式和express里一样

  1. var router = require('koa-router')();
  2. router.get('/', function *(next) {
  3. this.body = 'this /1!';
  4. });
  5. router.get('2', function *(next) {
  6. this.body = 'this /2!';
  7. });
  8. module.exports = router;

一定要区分

  1. url = /2
  2. router.get('2', function *(next) {
  3. this.body = 'this /2!';
  4. });
  1. url = //2
  2. router.get('/2', function *(next) {
  3. this.body = 'this /2!';
  4. });

这个是koa-router的一个问题,和express里的路由稍有不一样,注意一些即可

Koa 2.x

由于Koa 2.x支持async,故写法稍有差异

  1. var router = require('koa-router')();
  2. router.get('/', async function (ctx, next) {
  3. await ctx.render('index', {
  4. title: 'Hello World Koa!'
  5. });
  6. });
  7. module.exports = router;

切换视图模板引擎

视图默认使用的是 jade 。如果想使用其他的视图

  1. $ koa 1.x/views-ejs -e

说明

  • -e, --ejs add ejs engine support (defaults to jade)

koa-generator使用的是koa-views,支持所有consolidate.js支持的模板引擎