【问题标题】:React app production build shows js errorsReact 应用生产构建显示 js 错误
【发布时间】:2023-11-14 10:12:01
【问题描述】:

我使用create-react-app 创建了一个客户端反应应用程序。它与运行 express api 的节点服务器通信。在开发中,一切都运行良好,正在准备部署。

运行npm run build 时,我也没有收到任何错误,一切似乎都运行良好。构建完成后,它建议运行 serve -s build ,我这样做并导航到我的 localhost:5000,我的应用程序中的第一个 console.logs 出现了,但突然间我抛出了一个看似简单的 javascript 错误:

TypeError: "e.forEach is not a function"
    me InboundTab.js:27
    me InboundTab.js:36
    React 7
    unstable_runWithPriority scheduler.production.min.js:270
    React 5
    getArrivals ArrivalState.js:39
    l runtime.js:45
    _invoke runtime.js:264
    t runtime.js:98
    l runtime.js:45
    t runtime.js:137
    t runtime.js:147
react-dom.production.min.js:4636:12
    React 5
    unstable_runWithPriority scheduler.production.min.js:270
    React 4
    unstable_runWithPriority scheduler.production.min.js:270
    React 5
    getArrivals ArrivalState.js:39
    l runtime.js:45
    _invoke runtime.js:264
    t runtime.js:98
    l runtime.js:45
    t runtime.js:137
    t runtime.js:147

我一直在寻找整个互联网,但找不到任何关于这里发生了什么的线索。大多数站点都在讨论构建过程中的错误或站点根本没有显示,但这两者都不是。谷歌搜索错误似乎说这是一些 ES6 问题,但我正在运行 firefox 73,所以我希望在这方面没有问题。

作为额外信息,这是我第一次尝试部署反应。有趣的是,到目前为止,我只完成了在本地运行的小项目,所以我很确定我在构建过程中遗漏了一些明显的东西。

任何帮助,关于在哪里循环的提示将不胜感激。谢谢!

【问题讨论】:

    标签: javascript reactjs npm deployment react-scripts


    【解决方案1】:

    回答我自己的问题。我想我只需要用漂亮的语法高亮重新阅读这个错误,因为文件名和行位置把我带到了正确的地方。

    在我客户的 api 调用中,我将服务器 url 设置为:

    const API_SERVER =
      process.env.NODE_ENV === "development"
        ? "http://localhost:4200"
        : "http://example.com";
    

    但我的 example.com 尚未设置,因此错误来自无法访问服务器。将 example.com 更改为 localhost 并重新构建使一切正常。

    【讨论】: