每次更改后都必须使用 "firebase deploy" 吗?

Do I have to use "firebase deploy" after each change?

我还是网络开发的新手,我现在正在使用 Firebase 处理我的所有数据。

我已准备就绪 运行,但我该如何做到这一点,以便在我对文件进行更改时更新我的​​ Firebase 网站?我是否必须在每次更改后手动调用 firebase deploy 才能看到更新后的站点?

要将更改部署到 Firebase 托管服务器,您确实需要 运行 firebase deploy.

但通常当我开发应用程序时,我 运行 大部分时间都是本地 Web 服务器。然后,当我完成我正在处理的 feature/bugfix 时,我只会将更改推送到 Firebase 托管。

对于本地执行,我要么使用 http-server or a gulp script that also packs 文件。后者的优势在于它们可以观察您的本地文件的变化并根据变化执行正确的步骤。

这实际上取决于您在做什么以及您要部署什么。

可以部署到三个不同的区域:

  • 托管 - 这只是一个简单的网络服务器,用于存放您的 HTML、JavaScript 和任何其他静态文件
  • 数据库 - 您的 Firebase 访问规则放在此处
  • 存储 - 文件存储的访问规则,通常是用户提交的文件

通常,您将在本地开发 HTML 和 JavaScript 文件并在那里进行测试。当您准备好部署到托管环境时,您通常会通过 firebase deploy 进行部署,这会将所有本地文件和规则部署到 Firebase 服务器。

如果您的问题仅与数据库规则有关,则没有本地版本或实例,您需要在进行更改时部署更改以使它们处于活动状态。

您可以通过发出命令 firebase deploy --only database 来执行规则更新。只需确保您有一个 firebase.json 文件,其中包含 "database": { "rules": "firebase.rules.json" } 或类似定义。

好处:使用 BOLT 构建规则,它会转换为 Firebase JSON 规则文件,但使开发变得更加容易,尤其是当您的规则不可避免地变得更加复杂时。

我正在开发一个以 Firebase 作为后端的 Angular 4 应用程序,所以步骤是

$ ng build --prod
$ firebase deploy