gpt4 book ai didi

javascript - 将 react.js 分离到它自己的文件中

转载 作者:行者123 更新时间:2023-11-30 11:26:28 25 4
gpt4 key购买 nike

我只是在学习 reactjs - 我正在学习教程。我不明白的是为什么当我在代码中包含我的 React 脚本时它起作用(第一个片段)。但是,当我将脚本代码提取到单独的 .js 文件(第二个片段)时,它不起作用。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello World</title>
<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="root"></div>
<script type="text/babel">

ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);

</script>
</body>
</html>

第二个片段:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello World</title>
<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>
<script src="Scripts/custom/react.js"></script>
</head>
<body>
<div id="root"></div>
</body>
</html>

react.js 文件:

ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);

请注意,我已将上述 js 文件包装在 <script type="text/babel"></script> 中这也不起作用。

我也在 Code Review 网站上问过这个问题,但是,我不确定它是否属于那里。

如以下评论所述,我确实看到语法错误,在 <h1>Hello, world!</h1>, 上突出显示行。

最佳答案

尝试使用 .jsx 扩展名和 text/babel 类型命名文件。你必须使用 Babel 的 .jsx 扩展来知道如何转换它,使用哪个加载器等。使用你当前的 .js 扩展,Babel 看到一个常规的 JavaScript文件并没有做任何事情,因此发生错误。此外,在您的 div 之后 包含您的自定义脚本,因为 React 必须等待加载 root 才能插入任何内容——而且,重命名你的文件,这很困惑:

<div id="root"></div>
<script type="text/babel" src="Scripts/custom/react.jsx"></script>

关于javascript - 将 react.js 分离到它自己的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47847206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com