关于 html:如何将 ReactJS 用作静态网站? | 珊瑚贝

How can I use ReactJS as a static website?


我想用 React 开发我的静态 Web 应用程序。我刚刚完成了井字游戏入门教程。无论如何,我可以将 ReactJS 直接”编译”(或任何术语)到我的 HTML 文件中吗?因此,要运行该 ReactJS 应用程序,我需要使用 Yarn 的服务器运行它。

我不喜欢使用 CDN,因为我想更新和管理依赖项。

假设,对于我的起点,我想让官方 React 入门教程中的井字游戏只使用一个 HTML 文件(该 HTML 文件中的 CSS 和 JS)。我想看看这是否可能,所以我不关心这个问题的最佳实践。

  • 构建应用程序然后获取文件输出? stackoverflow.com/questions/39791069/…
  • 我想我错过了什么,或者我没有,idk。我已经运行 yarn build 打开了 index.html,但它返回了这个错误:pastebin.com/RTLdhxPj。


你应该看看 Gatsby JS

它是一个用于 React 的静态站点生成器。可能这就是您正在寻找的。


我已经测试过了。 yarn build 仅适用于服务器。甚至 python3 -m http.server 也可以。所以不行!如果没有开箱即用的服务器,从非 Bower 包管理器下载的 ReactJS 将无法工作。


听起来你正在使用带有 create-react-app 的 Yarn。如果是这样,您正在运行:

yarn start

现在运行:

yarn build

在此处查看更多信息:https://github.com/facebookincubator/create-react-app

静态 Web 应用程序将构建到 build 文件夹中。你会在那里找到所有的静态资源,比如 JS、CSS 和 HTML。

  • 我想我错过了什么,或者我没有,idk。我运行 yarn build 打开了 index.html,但它返回此错误:pastebin.com/RTLdhxPj。
  • 这是一个不同的问题,也许最适合提出一个新问题。创建时将其链接到此处,我们可以提供帮助。
  • 这些可能有助于解决这个问题:github.com/facebookincubator/create-react-app/blob/master/…、stackoverflow.com/questions/45484183/cannot-create-react-app、stackoverflow.com/questions/46566235/ …


运行 npm run build 或 yarn build 并查看 build 文件夹中的输出。它生成静态 HTML、CSS 和 Javascript。

  • 我想我错过了什么,或者我没有,idk。我运行 yarn build 打开了 index.html,但它返回此错误:pastebin.com/RTLdhxPj。
  • 尝试将其部署到 Web 服务器。通过文件系统打开它可能不起作用。
  • 我希望它是静态网站。我不想使用服务器。这可以通过 CDN 完成,但我想看看是否可以使用从 Yarn 或 NPM 等包管理器下载的 ReactJS 制作静态网站。
  • 您不需要将其部署到 Web 服务器。您应该能够在本地运行它。
  • 这是一个静态网站。必须通过 HTTP 将静态文件提供给浏览器。因此,您必须使用提供静态文件的 Web 服务器。
  • 从理论上讲,您可以打开 index.html 并从文件系统加载页面。它可以工作,但通常浏览器不允许您加载额外的资源(出于安全原因),并且页面中的链接也可能被破坏。
  • 您也可以使用本地 Web 服务器,无需部署到远程服务器或 CDN。如果您运行 yarn start,它会启动一个本地轻量级 Web 服务器并通过 HTTP 将静态文件提供给浏览器。
  • 我已经测试过了。 yarn build 仅适用于服务器。甚至 python3 -m http.server 也可以。所以不行!如果没有开箱即用的服务器,ReactJS 将无法工作。
  • 但这与 ReactJS 无关。它只是一个客户端框架。正如我之前所说,您需要通过 HTTP 向浏览器提供 HTML、CSS 和 Javascript。这就是你需要服务器的原因,而不是因为 ReactJS 依赖于它。
  • @DávidMolnár 那是完全错误的。您的网络浏览器无需服务器(软件)即可从 file:// 读取。
  • @DarkTrick 你是对的。浏览器可以使用 file:// 从文件系统读取文件,但它经常会导致问题,在这种情况下,您可能需要修复 html 和 CSS 文件中的 URL。这就是为什么我建议在这种情况下使用静态 Web 服务器。


来源:https://www.codenong.com/47001555/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9630.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?