Babel-register
All subsequent files required by node with
the extensions.es6,.es,.jsxand.jswill be transformed by Babel.
也就是说在这个模块文件中用require去引用一个模块文件时,被引用的模块文件将被babel转化。
Babel-polyfill
Babel默认只转换新的JavaScript语法,而不转换新的API。例如,Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转译。如果想使用这些新的对象和方法,必须使用babel-polyfill,为当前环境提供一个垫片。
Babel-plugin-transform-runtime
在babel编译的时候
runtime转换器插件主要做了三件事:
·当你使用generators/async方法、函数时自动调用babel-runtime/regenerator
·当你使用ES6的Map或者内置的东西时自动调用babel-runtime/core-js,避免了全局污染
·移除内联babel helpers并替换使用babel-runtime/helpers来替换
总的来说一句话,你可以使用内置的一些东西例如Promise,Set,Symbol等,就像使用无缝的使用polyfill,来使用babel特性,并且无全局污染、极高代码库适用性。