koa2+koa-views示例

app.js

var Koa = require('koa')

var fs = require('fs')
var path = require('path')
var koaStaticPlus = require('koa-static-plus')
var Router = require('./router')

var app = new Koa()
//处理静态资源
app.use(koaStaticPlus(path.join(__dirname, '/dist'), {
    pathPrefix: ''
}))


Router.get('/', function (a) {
    a.body = "xxxx"
})
Router.get('/aaa', function (a) {
    a.body = "aaaaaa"
})

app.use(function (ctx, next) {
    console.log(ctx.method, ctx.url)
    Router.match(ctx, next)
})


app.listen(4000, function () {
    console.log('server started 4000')
})

module.exports = app


集中定义路由
现有的所有路由在koa2 都不好用,GITHUB上示例又少,自己实现一个简单的

var Router = {map: {}}

'get,del,put,post'.replace(/\w+/g, function (a) {
    var method = a.toUpperCase()
    Router.map[method] = []
    Router[a] = function (url, cb) {
        var keys = []
        var re = pathToRegexp(url, keys)
        this.map[method].push({
            re: re,
            url: url,
            cb: cb
        })
    }
})
var pathToRegexp = require('path-to-regexp')

Router.onerror = function (ctx) {
    ctx.body = '404!!'
}
Router.match = function (ctx, next) {
    var array = this.map[ctx.method] || []
    for (var i = 0, el; el = array[i++]; ) {
        var aaa = el.re.exec(ctx.url)
        if (aaa) {
            var args = aaa.slice(1)
            el.cb(ctx, next, args)
            return
        }
    }
    Router.onerror(ctx, next)
}

module.exports = Router

//http://my.oschina.net/u/1416844/blog/660951
require("babel-core/register")(
    {
        presets: ['stage-3','es2015']
    }
);
//http://stackoverflow.com/questions/31122193/babel-polyfill-what-is-that
require("babel-polyfill");

require("./app.js");

我们

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值