maiermic maiermic - 8 months ago 32
Node.js Question

How to run Node.js app with ES6 features enabled?

I use the require hook of BabelJS (formerly named 6to5) to run node apps with es6features:

// run.js

I call
node run.js
to run my app.js6. I need to install BabelJS and provide a run.js for each project I'd like to use es6features. I would prefer a call like
nodejs6 app.js6
. How can I achieve this system independently (Unix and Windows)?


Add the babel-cli and babel-preset-es2015 (aka ES6) dependencies to your app's package.json file and define a start script:

  "dependencies": {
    "babel-cli": "^6.0.0",
    "babel-preset-es2015": "^6.0.0"
  "scripts": {
    "start": "babel-node --presets es2015 app.js"

Then you can simply execute the following command to run your app:

npm start

If you ever decide to stop using Babel (e.g. once Node.js supports all ES6 features), you can just remove it from package.json:

  "dependencies": {},
  "scripts": {
    "start": "node app.js"

One benefit of this is that the command to run your app remains the same, which helps if you are working with other developers.