react 入门-Babel

Posted teamlet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react 入门-Babel相关的知识,希望对你有一定的参考价值。

很多计算机语言在运行的时候,需要把我们编写的源代码编译成计算机底层的语言;

javascript是解释型语言,浏览器接收javascript文本,然后再解释执行,所以在编写javascript代码之后,浏览器可以直接识别这些文本,不需要再编译javascript文本。

但是,随着javascript的不断更新和版本升级,新的语法和特性越来越多。这些语法提供了更好的性能、编程体验和开发风格,浏览器对这些新的语法和特性的跟随是非常滞后的,也就是说,新的javascript的特性无法直接使用。

这就是 babel 出现的背景。

javascript的版本包括ES3、ES5、ES6还有ES7,不是所有的浏览器都支持所有的这些版本。

为了能让开发者在新版本的javascript出现后,使用最新的javascript版本,babel 出现了。

babel 允许开发者使用最新的javascript版本和新语法开发应用。它可以把最新的语法转换成当前所有浏览器都可以支持的语法。

比如,现在可以使用ES6甚至ES7的新语法,当然还有 React JSX的语法进行编程,使用 babel 将这些语法转换成当前浏览器都可以支持的 ES5 的语法。

上篇文章中是在浏览器直接引用babel:

<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>

然后,将JSX的javascript代码写在 type 为 text/babel 的script标签内:

<script type="text/babel">
function formatName(user) 
  return user.firstName + ' ' + user.lastName;


const user = 
  firstName: 'Harper',
  lastName: 'Perez'
;

const element = (
  <h1>
    Hello, formatName(user)!
  </h1>
);

ReactDOM.render(
  element,
  document.getElementById('root')
);
</script>

产品模式下,不适合使用这种方法。

babel 还可以在 webpack 等工具中以 loader 的方式提供转换。

以上是关于react 入门-Babel的主要内容,如果未能解决你的问题,请参考以下文章

带有 Babel 问题的 React/Relay Modern/GraphQL 简单项目设置

使用Ruby on Rails的Babel-Transpiler:入门[关闭]

React学习随笔

从0到1无比流畅的React入门教程

前端工程搭建入门(四)支持react 16的 fragment语法

React入门概述 - 虚拟DOM与原生DOM - JSX语法 - React基本使用