📜  react-dom 和 babel cdn (1)

📅  最后修改于: 2023-12-03 15:19:45.198000             🧑  作者: Mango

使用cdn引入react-dom和babel

在前端开发中,我们经常需要使用一些框架和类库来加快开发速度,其中包括React和Babel。React是一个非常流行的JavaScript库,用于构建用户界面;Babel是一个JavaScript编译器,它可以将ES6+代码转换为向后兼容的JavaScript代码,使您可以使用新的语言功能,而无需担心浏览器兼容性问题。这里介绍如何使用cdn引入react-dom和babel。

引入React和ReactDOM

React和ReactDOM是两个不同的库,必须分别引入。React用于构建用户界面,而ReactDOM用于在浏览器中渲染组件。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>React DOM CDN</title>
</head>
<body>
  <div id="root"></div>
  <script src="https://cdn.jsdelivr.net/npm/react@17.0.2/umd/react.development.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/react-dom@17.0.2/umd/react-dom.development.js"></script>
  <script>
    // 使用React和ReactDOM
    const { useState } = React;
    const { render } = ReactDOM;
    
    function App() {
      const [count, setCount] = useState(0);
      
      return (
        <div>
          <p>You clicked {count} times</p>
          <button onClick={() => setCount(count + 1)}>
            Click me
          </button>
        </div>
      );
    }
    
    render(<App />, document.getElementById('root'));
  </script>
</body>
</html>

在上面的示例中,我们引入了React和ReactDOM的开发版CDN链接。在JavaScript部分,我们使用了React的useState钩子来创建一个state变量count,在渲染时展示计数器,并提供一个按钮来增加计数器的值。

引入Babel

在使用Babel之前,我们需要通过script标记引入Babel的CDN链接。这可以让我们使用类似于import和export的语法,而不必考虑浏览器兼容性问题。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Babel CDN</title>
</head>
<body>
  <div id="root"></div>
  <script src="https://cdn.jsdelivr.net/npm/react@17.0.2/umd/react.development.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/react-dom@17.0.2/umd/react-dom.development.js"></script>

  <!-- 引入Babel -->
  <script src="https://cdn.jsdelivr.net/npm/@babel/standalone@7.14.7/babel.min.js"></script>

  <script type="text/babel">
    // 使用Babel
    const { useState } = React;
    const { render } = ReactDOM;

    const App = () => {
      const [count, setCount] = useState(0);

      return (
        <div>
          <p>You clicked {count} times</p>
          <button onClick={() => setCount(count + 1)}>Click me</button>
        </div>
      );
    };

    render(<App />, document.getElementById('root'));
  </script>
</body>
</html>

在上面的示例中,我们使用了text/babel作为脚本内容类型,并使用箭头函数来定义组件。我们还引入了Babel的CDN链接,以便在文件被加载时对脚本进行转换。

注意,Babel在浏览器中运行可能会导致性能问题。因此,在生产环境中,建议使用Babel进行代码转换,然后将转换后的代码部署到CDN上。

使用CDN引入React、ReactDOM和Babel,可以让前端开发者更加方便地开始开发,而无需安装和配置本地的开发环境。