使用es6+ 编写 koa2

1.npm install koa-generator -g 

2.koa2 your_prj

3.npm install

运行es2015 主要是因为依赖了runkoa,中间应该有一些转换,不清楚是编译时还是运行时。

{
  "name": "koa_with_es2015",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "start": "./node_modules/.bin/nodemon bin/run",
    "koa": "./node_modules/.bin/runkoa bin/www",
    "pm2": "pm2 start bin/run ",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "co": "^4.6.0",
    "debug": "^2.2.0",
    "jade": "~1.11.0",
    "koa": "^2.0.0",
    "koa-bodyparser": "^2.0.1",
    "koa-convert": "^1.2.0",
    "koa-json": "^1.1.1",
    "koa-logger": "^1.3.0",
    "koa-onerror": "^1.2.1",
    "koa-router": "^7.0.0",
    "koa-static": "^2.0.0",
    "koa-views": "^5.0.1",
    "runkoa": "^1.3.1"
  },
  "devDependencies": {
    "nodemon": "^1.8.1"
  }
}

4.npm start   http://localhost:3000

 

runkoa 里面整合了babel

目前看来这个webpack 主要是给前端用的

import from 在目前的node 上还不能完全用,因为很多node 插件还是用es5写的,只能用require module.exports 组合,自定义的组件比如路由是可以用的。

modure.exports = A       等价于  export default A

var a = require('./test')  等价于  import a from './test'

async await 是配套的,不能和yield * 混在一个函数上。

fetch 是html5 中的一个实现,用于替代ajax 基于promise,跟generator并不冲突

这是比较新的koa 整合例子:

https://github.com/yuqi17/dota2-match-ticker

http://www.tuicool.com/articles/B7Zzemn

 

posted @ 2017-02-04 16:35  JonasYu  阅读(505)  评论(0编辑  收藏  举报