I'm trying to run Babel through it's CLI using babel-node
but I keep getting the Unexpected token export
error. I understand that Babel 6 is all about plugins and that I need to set the plugin through .babelrc
but it doesn't seem to work properly.
So here are my questions:
package.json
but still no luck. .babelrc
option? It seems tedious if I have to install the plugins for every project that requires it...For those who are curious of what I'm trying to export, then here is the class:
'use strict';
class Factorial {
static solve (num) {
if(num === 0) return 1;
else return num * Factorial.solve(num - 1);
}
}
console.log(Factorial.solve(5))
export default Factorial;
The easiest way to get started is to use a preset.
First let's install our dependencies:
$ npm install --save-dev babel-cli babel-preset-es2015
Then add a build
script to your package.json that runs Babel: (this is important because it will use your local version of babel-cli
instead of a globally installed one)
"build": "babel input.js"
Your package.json
should look like this:
{
"name": "my-module",
"devDependencies": {
"babel-cli": "^6.x.x",
"babel-preset-es2015": "^6.x.x"
},
"scripts": {
"build": "babel input.js -o compiled.js"
}
}
Finally you want to update your local .babelrc
like this:
{
"presets": ["es2015"]
}
Then you run npm run build
and you're all set to go.
Also, does Babel 6's CLI have a global .babelrc option? It seems tedious if I have to install the plugins for every project that requires it...
That's a bad idea as it means you can't ever update it without updating every single one of your projects code. Having local versions means this potential error is less likely to occur.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With