Babel 是一个 JavaScript 编译器。

今天就来用下一代 JavaScript 语法写代码吧!

Babel 用于转化你的 JavaScript 代码

你的 JavaScript 代码是这样的:

myJavaScript("foobar");

转化之后的 JavaScript 是这样的:

myNewTransformedJavaScript("yay!");

ES2015 以及更多

默认情况下,Babel 自带了一组 ES2015 语法转化器。这些转化器能让你现在就使用最新的 JavaScript 语法,而不用等待浏览器提供支持。了解更多 →

  • Arrow functions
  • Async functions
  • Async generator functions
  • Classes
  • Class properties
  • Computed property names
  • Constants
  • Decorators
  • Default parameters
  • Destructuring
  • Exponentiation operator
  • For-of
  • Function bind
  • Generators
  • Let scoping
  • Modules
  • Module export extensions
  • Object rest/spread
  • Property method assignment
  • Property name shorthand
  • Rest parameters
  • React
  • Spread
  • Template literals
  • Type annotations
  • Unicode regex

export default React.createClass({
  getInitialState() {
    return { num: this.getRandomNumber() };
  },

  getRandomNumber(): number {
    return Math.ceil(Math.random() * 6);
  },

  render(): any {
    return <div>
      Your dice roll:
      {this.state.num}
    </div>;
  }
});

JSX 和 React

Babel 内嵌了对 JSX 的支持。通过将 Babel 和 babel-sublime 包(package)一同使用可以让源码的语法渲染上升到一个全新的水平。


可组合拼装

Babel 由插件组成。通过利用现有的插件或者开发你自己的插件可以组合出满足你自身需要的转化管道(transformation pipeline)。了解更多 →

Plugins and Browsers


谁在使用 Babel ?