gpt4 book ai didi

javascript - 在本地浏览器中运行简单的react js

转载 作者:行者123 更新时间:2023-12-03 13:19:37 25 4
gpt4 key购买 nike

我是 React 新手,我只是想在浏览器中运行一个最简单的 React js 文件。但我无法做到

请注意,我不想 create-react-app,我只想在本地系统上尝试一下。

我做了以下

  1. 在我的 /Users/me/reactwork 中,我创建了 2 个文件 clock.htmlclock.js
  2. 然后在 Chrome 浏览器中输入 /Users/me/reactwork/clock.html。我希望看到我的时钟,但我没有

我做错了什么?

我对 js 和 React 非常陌生,刚刚开始阅读,所以请为我提供逐步说明。

这是我的文件

时钟.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>
</head>
<body>
<div id="root"></div>
<script type="text/babel" src="clock.js">

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

clock.js

import React from 'react';
import ReactDOM from 'react-dom';

function tick() {
const element = (
<div>
<h1>Hello, world!</h1>
<h2>It is {new Date().toLocaleTimeString()}.</h2>
</div>
);

ReactDOM.render(
element,
document.getElementById('root')
);
}

setInterval(tick, 1000);

Chrome 开发者工具显示此错误

Failed to load file:///Users/me/reactwork/clock.js: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

我研究了这个错误,发现我需要服务器,所以我从我的 html 和 js 文件所在的位置发出了以下命令

python -m SimpleHTTPServer

这会在端口 8000 上启动服务器,然后我转到 Chrome 并输入

http://localhost:8000/clock.html

,但这在 Chrome 开发工具中显示错误

clock.js:1 Uncaught ReferenceError: require is not defined
at <anonymous>:3:14
at n (https://unpkg.com/babel-standalone@6.15.0/babel.min.js:12:27049)
at r (https://unpkg.com/babel-standalone@6.15.0/babel.min.js:12:27558)
at e.src.i.(anonymous function).error (https://unpkg.com/babel-standalone@6.15.0/babel.min.js:12:27873)
at XMLHttpRequest.i.onreadystatechange (https://unpkg.com/babel-standalone@6.15.0/babel.min.js:12:27316)

更新我放弃了尝试使其按照此链接上的 react 页面建议的方式工作,而是使用“尝试 react ”自行尝试并使用我自己的文本编辑器(https://reactjs.org/docs/installation.html )。正如我在上面的帖子中解释的那样,这不起作用。

虽然我希望能够以这种方式工作,但我做不到,所以我决定将其作为“创建新应用程序”选项卡部分,然后修改index.js文件以使用我在我的代码中的代码如上所述的clock.js 文件。这有效。

最佳答案

您可以直接在浏览器中运行react.jsNPMNODE.JS不需要。这是一个片段:

// main.js

/* You don't need these imports
** import React from 'react';
** import ReactDOM from 'react-dom';
*/
// React and ReactDOM are already imported in you HTML
// Also import / require are NodeJS thing that doesn't exist in a browser


function tick() {
const element = (
<div>
<h1>Hello, world!</h1>
<h2>It is {new Date().toLocaleTimeString()}.</h2>
</div>
);
ReactDOM.render(
element,
document.getElementById('the_root_of_your_reactJS_component')
);
}

setInterval(tick, 1000);
<!-- index.html -->


<body>

<!-- some HTML -->
<div id="the_root_of_your_reactJS_component"></div>
<!-- some other HTML -->

<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<!-- babel is required in order to parse JSX -->

<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<!-- import react.js -->

<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"> </script>
<!-- import react-dom.js -->

<script type="text/babel" src="main.js"></script>
<!-- import your JS and add - type="text/babel" - otherwise babel wont parse it -->
</body>

关于javascript - 在本地浏览器中运行简单的react js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46506332/

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