Babel

作者: 张_何 | 来源:发表于2022-05-07 10:43 被阅读0次

    什么是 Babel

    • Babel又名 babel.js,
    • 是目前前端使用非常广泛的编辑器、转移器。
    • 比如当下很多浏览器并不支持 ES6 的语法,但是确实 ES6 的语法非常的简洁和方便,我们开发时希望使用它。
    • 那么编写源码是我们就可以使用ES6 来编写,之后通过 Babel 工具,将 ES6 转成大多数浏览器都支持的 ES5 的语法

    Babel 与 React 的关系

    • 默认情况下开发 React 其实可以不使用 babel
    • 但前提是我们自己使用 React.createElement 来编写源代码,它编写的代码非常繁琐并且可读性差

    Babel 与 JSX 的关系

    • babel 可以将我们写的 JSX 代码转换成React.createElement, 那么我们就可以直接编写 JSX 的语法,然后让 babel 帮助我们转换成 React.createElement。
      下面是对应的转换:
    <div>
      <div className="header">
        <h1 title="标题">我是标题</h1>
      </div>
      <div className="content">
        <h2>我是页面的内容</h2>
        <button>按钮</button>
        <button>+1</button>
        <a href="http://www.baidu.com">百度一下</a>
      </div>
      <div className="footer">
        <p>我是尾部的内容</p>
      </div>
    </div>
    // 转换后如下: 
    "use strict";
    
    /*#__PURE__*/
    React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
      className: "header"
    }, /*#__PURE__*/React.createElement("h1", {
      title: "\u6807\u9898"
    }, "\u6211\u662F\u6807\u9898")), /*#__PURE__*/React.createElement("div", {
      className: "content"
    }, /*#__PURE__*/React.createElement("h2", null, "\u6211\u662F\u9875\u9762\u7684\u5185\u5BB9"), /*#__PURE__*/React.createElement("button", null, "\u6309\u94AE"), /*#__PURE__*/React.createElement("button", null, "+1"), /*#__PURE__*/React.createElement("a", {
      href: "http://www.baidu.com"
    }, "\u767E\u5EA6\u4E00\u4E0B")), /*#__PURE__*/React.createElement("div", {
      className: "footer"
    }, /*#__PURE__*/React.createElement("p", null, "\u6211\u662F\u5C3E\u90E8\u7684\u5185\u5BB9")));
    

    官网 的 try it out 可以查看

    相关文章

      网友评论

          本文标题:Babel

          本文链接:https://www.haomeiwen.com/subject/pkgzyrtx.html