1. 程式人生 > >通過babel-register在nodejs端使用es6

通過babel-register在nodejs端使用es6

nodejs對es6的支援並不好,像class, import這些關鍵字,react的jsx都無法使用。但是babel可以將這些都轉化為es5。此處講講如何在node端使用babel。

require('babel-register');

即可。它還可以接收一個babel的配置作為引數。看看我的index.js:
var fs = require('fs');
var babelConfig = JSON.parse(fs.readFileSync('./.babelrc'));
require('babel-register')(babelConfig);
require('./func.js');

func.js:

const myFunc =  () => {
  console.log('hello world');
}
myFunc();


執行node index.js,成功打印出'hello world'。

注意: 入口檔案index.js中不能寫es6和jsx!!!

貼一下我的.babelrc

{
  "presets":["es2015","react","stage-1"],
  "plugins":[]
}

npm依賴
{
  "dependencies": {
    "babel": "^6.23.0",
    "babel-core": "^6.24.1",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "babel-preset-stage-1": "^6.24.1",
    "babel-register": "^6.24.1"
  }
}