【问题标题】:React can not access JS code from HTMLReact 无法从 HTML 访问 JS 代码
【发布时间】:2015-09-23 14:03:21
【问题描述】:

我正在尝试使用 React 创建列表,所以我正在使用来自这里的模块 https://github.com/pqx/react-ui-tree

我正在尝试示例应用程序: https://github.com/pqx/react-ui-tree/blob/gh-pages/example/app.js

此应用程序呈现以下内容: React.render(, document.getElementById('app'));

在同一个文件夹中,我有一个 HTML 文件,我尝试在其中显示示例应用程序创建的树:

<!doctype html>
<html lang="en">
<head>
    <script src="http://fb.me/react-0.13.0.js"></script>
    <script src="http://fb.me/JSXTransformer-0.13.0.js"></script>
</head>
<body>

<script src="app.js" type="javascript"></script>

<div id="tree">
</div>

</body>
</html>

但是,当我在浏览器中打开 HTML 页面时,没有呈现任何内容。 我对 Javascript 或 React 没有太多经验。

为什么会这样?

我需要使用 Gulp 或其他工具吗?

【问题讨论】:

    标签: javascript html reactjs


    【解决方案1】:
    <script src="app.js" type="javascript"></script>
    

    JavaScript 的 MIME 类型是 application/javascript(或旧版 text/javascript)。浏览器无法识别非标准的javascript MIME 类型,因此将忽略该脚本。

    如果您使用了the validator,则会出现此错误。

    完全省略type 属性。 HTML 5 使其成为可选的,默认为 JavaScript。


    你的下一个问题是:

    React.render(<App/>, document.getElementById('app'));
    

    您的文档中没有具有该 ID 的元素。

    您有一个 ID 为 tree,但它出现在 脚本之后,因此在您运行脚本时不存在。

    【讨论】:

    • 我删除了它。谢谢你的澄清。但是还是不行。
    • 我改变了它。它仍然没有显示,但它已经取得了进展。现在它显示错误:Uncaught SyntaxError: Unexpected token &lt; 在第一行,app.js 中带有 HTML 标记。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 2016-10-07
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多