【问题标题】:Update a react project that uses firebase hosting更新使用 firebase 托管的 react 项目
【发布时间】:2020-06-25 17:42:42
【问题描述】:

我使用 firebase 托管服务于我的 react 网站。如果我想对我的网站进行更改,是否每次更改本地文件后都需要输入npm run build,以便新的构建文件夹与旧文件夹重叠,然后输入firebase deploy

【问题讨论】:

    标签: reactjs firebase firebase-hosting


    【解决方案1】:

    你只需要运行两个命令。

    1. npm run build
    2. firebase deploy 就是这样。然后刷新您的网页。

    【讨论】:

    • 这正是问题中提出的,您能否进一步解释一下为什么需要这两个命令?
    • 当然,其实,1. npm run build 是为了将整个代码压缩成静态格式,以实现超快速运行,并将其他新版本转换为 Es5 版本。导致很多浏览器无法理解新版本的js。并且没有静态版本代码的原因,新的变化不能工作(案例中的firebase策略)
    • 2.之后,将通过 firebase deploy 命令更新新的更改。虽然 firebase 不会用构建静态程序替换新的 unbuild 代码,但您无法在服务器中获得新的代码响应。在部署到 firebase 之前,您必须构建整个代码。每次。 “部署”用于更新替换旧版本的代码。
    • 太棒了!我的意思是要求您在答案中添加解释,因为没有它,它不是很有帮助。但是,您可以使用您在两个 cmets 中编写的内容来扩充它!
    【解决方案2】:

    在您的 React 应用程序中进行所有更改。并运行

    第一个命令-npm run deploy

    第二条命令-firebase deploy

    完成了。

    【讨论】:

      【解决方案3】:

      是的,这是必需的。如果您不生成和部署新代码和资产,您的网站将不会发生任何变化。

      【讨论】:

        【解决方案4】:

        您无需在每次想要在本地测试 Firebase 时都将其部署到云托管。 您可以使用firebase serve --only hosting 部署在本地主机上。

        npm run build 完全取决于你的 package.json,我不确定你的脚本是什么样子的。

        但是,我认为您实际上是在问如何在开发过程中实现客户端的热重载。我不记得使用使用 webpack 的 Create-React-App https://reactjs.org/docs/create-a-new-react-app.html#create-react-app 实现这一点时遇到过问题。

        用户指南详细说明了如何使用npm start,它应该强制热重载:https://create-react-app.dev/docs/available-scripts#npm-start

        【讨论】:

        • 感谢您的回复!抱歉,我的问题不够清楚。由于我已经将我的项目部署到了​​我的 firebase,因此项目文件夹中已经有一个 build 文件夹,因为 firebase 部署了 build 文件夹的内容。在我更改了本地 javascript 文件并运行“firebase serve”后,这些更改没有显示出来。所以我想知道是否需要输入“npm run build”来将文件“编译”到一个新的构建项目中(与旧项目重叠),以便保存新的更改。
        猜你喜欢
        • 2022-07-27
        • 2017-09-16
        • 2021-06-17
        • 2018-02-24
        • 2020-08-21
        • 2018-09-17
        • 2020-08-03
        • 2017-12-08
        • 2019-03-16
        相关资源
        最近更新 更多