从浏览器中反应16和Babel 6

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从浏览器中反应16和Babel 6相关的知识,希望对你有一定的参考价值。

我想在浏览器中使用React,而不使用browserify / webpack创建捆绑包。

我正在尝试使用babel-standalone并从浏览器做出反应,我修改了一些代码但是我得到的ReactDOM没有定义加上其他两个警告(进程未定义)

我找到了反应和反应dom here的参考。包含cjs版本是否正确? cjs代表什么?

我正在使用的代码如下。我想使用ReactDOM.render

<!DOCTYPE html>
<html>
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.2.0/cjs/react.development.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.2.0/cjs/react-dom.development.js"></script>
	<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
  </head>

<div id="output"></div>
<script type="text/babel">

ReactDOM.render(
    <h1>Hello World</h1>,
    document.querySelector('output')
);

</script>

</html>
答案

我相信cjs指的是CommonJS。由于您使用的是简单的HTML模板,因此您可以包含纯javascript包。

我根据官方React文档中的minimal HTML template更改了包含的脚本标记。

我也将document.querySelector('output')改为document.getElementById('output')

试试这个:

<!DOCTYPE html>
<html>
  <head>
    <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
  </head>

  <body>
    <div id="output"></div>
    <script type="text/babel">
      ReactDOM.render(
        <h1>Hello World</h1>,
        document.getElementById('output')
      );
    </script>
  </body>
</html>

以上是关于从浏览器中反应16和Babel 6的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Babel 转换 scss 以获得反应包?

Babel 插件反应中继

在 React 应用中设置 Babel 生成的 EcmaScript 版本

使用 Webpack 4.5 + Babel 6 + React 16 导入 JSON 时出错

无法在与 webpack 和 babel 的反应中公开组件库

使用 browserify 创建反应应用程序有错误