【问题标题】:How to setup a Local React App on Raspberrypi?如何在 Raspberry Pi 上设置本地 React 应用程序?
【发布时间】:2022-01-07 12:13:44
【问题描述】:

在我的 Pi 上构建 React 应用程序(前面,后面是 Python/PgSQL)失败后(内存不足),我在设置它时遇到了一些麻烦,让我解释一下:

之前:

  • 一切都在 Pi 上:Python、Pg 数据库、React 应用程序。
  • 在 Windows PC 上使用 VSCode 并通过 SSH 连接到 Pi。
  • raspberrypi.lan:3000(或192.168.0.14:3000,Pi IP)上使用npm start 运行。

一切都很好,因为我想直接从 raspberrypi.lan

所以安装了 Apache 服务器然后我按照一些教程告诉我我只需要运行 npm run build 并复制/粘贴 /var/www/html 中的 build 文件夹,我做了什么。

太棒了,效果很好!!

现在:

  • 在 Windows PC 上移动的 React 代码。

  • 在本地使用 Windows PC 中的 VSCode。

  • localhost:3000 使用npm start 运行开发(PC)。

  • Prod (Pi) 在 Apache 服务器上运行,地址为 raspberrypi.lan

  • 使用npm run build 构建。

  • 通过ftp将生成的build文件夹传输到/var/www/html中的Pi

    => 不是很迷人,如果有人知道如何做得更好的话…….

再一次,效果很好……除了……

当我调用我的 Python API 时(请记住,在 PI 上,raspberrypi.lan:5000),我有两种行为:

  • 开发(PC):

CORS 策略已阻止从源“http://localhost:3000”访问“http://raspberrypi.lan/api/product/list”处的 XMLHttpRequest

  • 产品 (PI):

您需要启用 JavaScript 才能运行此应用。

我知道这些是什么意思,但我不知道如何正确修复它们。 您可以注意到,在 Prod 上,呼叫回答 OK 200,但缺少一些接缝。 如果我添加 API 端口,我这次在 Prod 中也面临 CORS 政策:

CORS 策略已阻止从源“http://raspberrypi.lan”访问“http://raspberrypi.lan:5000/api/product/list”处的 XMLHttpRequest

所以我在这里问你:

如何设置这些婴儿,以便我可以从 PC 和 Pi 端访问 API?

在此先感谢,对于我的粗略英语感到抱歉。

【问题讨论】:

标签: python node.js reactjs raspberry-pi cors


【解决方案1】:

嗯,

特别感谢this answer 我曾经使用flask_cors Python 库修复它并最终得到与其他用户完全相同的情况。

【讨论】:

    猜你喜欢
    • 2019-09-05
    • 2020-11-25
    • 2020-06-19
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多