如何将JSX文件引用到HTML页面

时间:2017-05-19 17:25:05

标签: reactjs jsx

我在HTML页面中引用了JSX文件,该页面没有显示任何内容。

HTML(Index.html)

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My First React Example</title>
  </head>
  <body>
    <div id="container"></div>
    <script src="https://***/react-15.0.0.js"></script>
    <script src="https://***/react-dom-15.0.0.js"></script>
    <script type="text/javascript" src="script.js"></script>
  </body>
</html>

JSX(Script.js)

var CommentBox = React.createClass({
  render: function() {
    return (
      <div className="commentBox">
        Hello, world! I am a CommentBox.
      </div>
    );
  }
});


ReactDOM.render(
  <CommentBox />,
  document.getElementById('container')
);

我尝试将文件扩展名更改为.jsx / .js但仍然没有运气。

1 个答案:

答案 0 :(得分:0)

使用babel-standalone来转换您的JSX代码。也可以在脚本类型中使用text / babel

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My First React Example</title>
  </head>
  <body>
    <div id="container"></div>
    <script src="https://***/react-15.0.0.js"></script>
    <script src="https://***/react-dom-15.0.0.js"></script>
    <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
    <script type="text/babel" src="script.js"></script>
  </body>
</html>

的script.js

var CommentBox = React.createClass({
  render: function() {
    return (
      <div className="commentBox">
        Hello, world! I am a CommentBox.
      </div>
    );
  }
});


ReactDOM.render(
  <CommentBox />,
  document.getElementById('container')
);

但是我建议你使用webpack使用babel-loader来编译代码