通过babel-register在nodejs端使用es6

nodejs对es6的支持并不好,像class, import这些关键字,react的jsx都无法使用。但是babel可以将这些都转化为es5。此处讲讲如何在node端使用babel。

babel-register可以理解成一个小插件,将es6的东西转成es5,github地址:https://github.com/babel/babel/tree/master/packages/babel-register。使用很简单,只需要在文件中加入

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"
  }
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章