使用 Babel Standalone 仅使用 index.html 和组件进行单个 React 组件渲染
Single React Component rendering with Babel Standalone with only index.html and Component
这里是 React 新手。我正在玩 React。我有一个简单的组件要在我的 component.js 中渲染。它包含在我的 index.html 文件中。我在 head 中包含了 React
、ReactDOM
和 babel
的脚本。我只想看到 div 正确渲染。我还没有使用 Node,只是使用 React 和 Babel 进行练习(使用 babel-standalone)。我是 运行 带有简单 http-server 的文件。我在使用 React Chrome 扩展时遇到错误:Waiting for roots to load...to reload inspector click here
.
index.html
<!DOCTYPE html>
<html>
<head>
<!-- React -->
<script src="https://unpkg.com/react@15/dist/react.min.js"></script>
<!-- React DOM -->
<script src="https://unpkg.com/react-dom@15/dist/react-dom.min.js"></script>
<!-- babel core-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.4.4/babel.min.js"></script>
</head>
<body>
<div id="machine-box"></div>
<script type="text/babel" src="components.js"></script>
</body>
</html>`
components.js
class MachineBox extends React.Component {
render(){
return ( <div>Hello From React </div> );
}
}
let target = document.getElementById('machine-box');
ReactDOM.render(
<MachineBox />, target
)
您的代码没有问题,不过您使用的是 babel-standalone
的非常旧的版本。
// this
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.4.4/babel.min.js"></script>
// should be this
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.17.0/babel.min.js"></script>
和
<script type="text/babel" src="components.js"></script>
// should be
<script type="text/babel" src="components.js" data-presets="es2015,react"></script>
这里是 React 新手。我正在玩 React。我有一个简单的组件要在我的 component.js 中渲染。它包含在我的 index.html 文件中。我在 head 中包含了 React
、ReactDOM
和 babel
的脚本。我只想看到 div 正确渲染。我还没有使用 Node,只是使用 React 和 Babel 进行练习(使用 babel-standalone)。我是 运行 带有简单 http-server 的文件。我在使用 React Chrome 扩展时遇到错误:Waiting for roots to load...to reload inspector click here
.
index.html
<!DOCTYPE html>
<html>
<head>
<!-- React -->
<script src="https://unpkg.com/react@15/dist/react.min.js"></script>
<!-- React DOM -->
<script src="https://unpkg.com/react-dom@15/dist/react-dom.min.js"></script>
<!-- babel core-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.4.4/babel.min.js"></script>
</head>
<body>
<div id="machine-box"></div>
<script type="text/babel" src="components.js"></script>
</body>
</html>`
components.js
class MachineBox extends React.Component {
render(){
return ( <div>Hello From React </div> );
}
}
let target = document.getElementById('machine-box');
ReactDOM.render(
<MachineBox />, target
)
您的代码没有问题,不过您使用的是 babel-standalone
的非常旧的版本。
// this
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.4.4/babel.min.js"></script>
// should be this
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.17.0/babel.min.js"></script>
和
<script type="text/babel" src="components.js"></script>
// should be
<script type="text/babel" src="components.js" data-presets="es2015,react"></script>