koa2里面使用ES7的语法,如async、await所以需要运行在node7.6之后;但在node7.6之前也可以利用babel是的koa2可以运行。
首先项目中安装babel,和babel的几个模块: npm install babel babel-register babel-preset-env --save然后在入口文件中引入‘babel-register’模块
require('babel-register');
而后引入业务代码:require('./server.js');
在配置.babelrc文件:
{ "presets": [ ["env", { "targets": { "node": true } }] ]}
示例:
app.js:require('babel-register');require('./servers/devserver');
devserver.js:
var koa = require('koa');var app = new koa();const request = require('request');let port = process.env.PORT || 8080;console.log("set port:" + process.env.PORT + "; ip:" + process.env.IP);app.use(async (ctx) => { console.log(ctx.url); if (ctx.url.indexOf('/aaa') > -1) { ctx.response.set('content-type', 'text/javascript'); ctx.body = request.get('http://127.0.0.1/aa.bundle.js', function(err, response, body) { console.log(body); }); }});app.listen(port);