koa2里面使用ES7的语法,如async、await因此须要运行在node7.6以后;但在node7.6以前也能够利用babel是的koa2能够运行。
首先项目中安装babel,和babel的几个模块:
npm install babel babel-register babel-preset-env --savejavascript
而后在入口文件中引入‘babel-register’模块
require('babel-register');
然后引入业务代码:
require('./server.js');
java
在配置.babelrc文件:node
{ "presets": [ ["env", { "targets": { "node": true } }] ] }
示例:
app.js:npm
require('babel-register'); require('./servers/devserver');
devserver.js:babel
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);