当前位置: 首页 > 面试题库 >

在浏览器中本地运行简单的React js

鞠修雅
2023-03-14
问题内容

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

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

我照做了

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

我做错了什么?

我对JS还是反应很新,刚刚开始阅读,因此请向我提供逐步说明。

这是我的档案

clock.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 Dev Tools中显示错误

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页面上建议的那样工作的 *UPDATE ,以使用“ Try
React”并使用我自己的文本编辑器(https://reactjs.org/docs/installation.html)自行尝试。正如我在上面的帖子中解释的那样,这没有用。

尽管我希望我能以这种方式工作,但是我却无法完成工作,因此我决定将其作为“创建新应用”选项卡部分,然后修改index.js文件以使用我clock.js中的代码。如上所述的文件。那行得通。


问题答案:

至少,您需要在中加载React(和ReactDOM)clock.html。React安装文档中提供了一些说明。

如果您想快速入门,可能更简单的选择是使用create-react-
app
。您只需要安装node +
npm
,然后运行create-react-app自述文件中列出的一些命令:

npm install -g create-react-app

create-react-app my-app
cd my-app/
npm start

这将创建一个简单的“ Hello,world”应用程序并在浏览器中打开它。然后,您可以对其进行更改,并在浏览器中实时查看它的更新。



 类似资料:
  • Mocha在浏览器中运行。每个版本的Mocha都将拥有新版本./mocha.js并./mocha.css在浏览器中使用。 特定于浏览器的方法 以下方法仅在浏览器上下文中起作用: mocha.allowUncaught() :如果被调用,错误处理程序将不会吸收未捕获的错误。 典型的设置可能类似于下面,我们呼吁mocha.setup('bdd')使用BDD加载测试脚本,运行之前的界面onload与mo

  • 本文向大家介绍讲解Nginx服务器中设置本地浏览器缓存的简单方法,包括了讲解Nginx服务器中设置本地浏览器缓存的简单方法的使用技巧和注意事项,需要的朋友参考一下 浏览器缓存(Browser Caching) 是为了加速浏览并节约网络资源,浏览器在用户磁盘上对最近请求过的文档进行存储。 nginx可以通过 expires 指令来设置浏览器的Header 语法: expires [time|epoc

  • 问题内容: 有没有办法知道浏览器中React的运行时版本? 问题答案: 是您要寻找的。 但是,据我所知,它没有记录,因此它可能不是一个稳定的功能(即,虽然不太可能,但它可能会消失或在将来的版本中更改)。 导入为脚本的示例 导入为模块的示例 显然,如果您将其导入为模块,则不会在全局范围内。上面的代码旨在与您应用程序的其余部分捆绑在一起,例如使用webpack。如果在浏览器的控制台中使用,它将几乎永远

  • 我有一个有很多功能的项目,我想在不同的浏览器中并行运行一个测试,使用cucumber jvm插件 在我的POM里。XML i添加了cucumber jvm和maver surefire两个插件 我创建runnerClass并添加: 现在,我无法运行测试,如何使用cucumber jvm或selenium网格并行运行浏览器中的不同功能

  • 我用Java创建了一个简单的Cumber测试。基本上,当您运行功能文件时,它会转到一个网站,选择一个按钮并将您带到该页面。我想做的是通过BrowserStack运行这个测试。不仅如此,还可以在Browserstack中的多个浏览器/设备上并行运行此单一功能文件。e、 g在五个不同的浏览器/设备上运行相同的测试。

  • 问题内容: 想知道是否可以用一个小的PHP包装程序从浏览器中执行,因为我无权访问服务器的外壳程序。 不确定是否可以使用cURL做到这一点? 问题答案: 是的,您可以使用一个小的PHP包装器来运行Composer。Phar文件中提供了所有Composer源代码,因此可以提取该源代码,然后在设置InputInterface替换Composer后运行它,并期望通过命令行传递命令。 如果您这样设置目录结构