Problem
I am trying to run simple http server using koa2, but have problems running it.
It uses es6 that is expected to work in future node.js v
Solution
I was able to find workaround and will describe solution that includes installing Babel module
Step 1 - Install Babel and required presets
$ npm install babel-core --save
$ npm install babel-preset-es2015-node5 --save
$ npm install babel-preset-stage-3 --save
Step 2 - Create index.js
file with babel-core/register
requirement
// set babel in entry file
require('babel-core/register')({
presets: ['es2015-node5', 'stage-3']
});
require('./app');
Step 3 - Put your sample code inside of app.js
import Koa from 'koa';
const app = new Koa();
// Setup handler.
app.use(async ctx => {
ctx.body = "Hello World!";
});
// Start server.
app.listen(3000);
After running node index.js
server works like a pie and import
, async
, await
are being processed properly.
References
Upgraded your node version to at least 7.6 after that there is no need to transpile your code using babel which is highly avoidable in production.Node >7.6 version support async/await which is very powerful.