# 路由
寫法說明
## Koa 1.x
只要是koa-router寫的路由都可以加載的,加載方式和express里一樣
```javascript
var router = require('koa-router')();
router.get('/', function *(next) {
this.body = 'this /1!';
});
router.get('2', function *(next) {
this.body = 'this /2!';
});
module.exports = router;
```
一定要區分
```javascript
url = /2
router.get('2', function *(next) {
this.body = 'this /2!';
});
```
```javascript
url = //2
router.get('/2', function *(next) {
this.body = 'this /2!';
});
```
這個是koa-router的一個問題,和express里的路由稍有不一樣,注意一些即可
## Koa 2.x
由于Koa 2.x支持async,故寫法稍有差異
```javascript
var router = require('koa-router')();
router.get('/', async function (ctx, next) {
await ctx.render('index', {
title: 'Hello World Koa!'
});
});
module.exports = router;
```
- Introduction
- Nodejs 4.x新特性
- classes
- typed arrays
- generators
- collections
- Set
- Map
- arrow functions
- block scoping
- template strings
- promises
- symbols
- Koa基礎
- 上下文
- koa-generator
- 安裝
- 創建項目
- 更改視圖模板引擎
- Routes
- HTTP
- Get
- 如何獲取query參數
- 如何獲取params
- Post
- 從post獲取參數
- 標準表單(Post with x-www-form-urlencoded)
- 文件上傳(Post with form-data)
- Post with raw
- 數據庫
- MySQL
- Mongo
- 流程控制
- generator/co
- es6的generator是什么?
- co = generator + promise
- async/await
- promise with bluebird
- 測試
- Mocha
- Supertest
- 部署
- 最佳實踐
- FAQ
- 如何發布本書到git pages
- 如何知道require模塊的用法
- koa中的異常處理