Reputation: 5055
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 versions and I was wondering how can I run it with node v6.1.0
?
Code
import Koa from 'koa';
const app = new Koa();
// Setup handler.
app.use(async ctx => {
ctx.body = "Hello World!";
});
// Start server.
app.listen(3000);
Output
$ node --version
v6.1.0
$ node --harmony index.js
C:\Users\gevor\WebstormProjects\untitled1\index.js:1
(function (exports, require, module, __filename, __dirname) { import Koa from 'koa';
^^^^^^
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:511:25)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:456:32)
at tryModuleLoad (module.js:415:12)
at Function.Module._load (module.js:407:3)
at Function.Module.runMain (module.js:575:10)
at startup (node.js:160:18)
at node.js:445:3
Question
I want to know how to run my app?
Similar Issues
Upvotes: 2
Views: 1890
Reputation: 401
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.
Upvotes: 2
Reputation: 5055
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
Upvotes: 5