Firebase - 快速指南

Firebase - 概述

根据官方 Firebase 文档 −

Firebase 可以为您的应用的后端提供支持,包括数据存储、用户身份验证、静态托管等。专注于创造非凡的用户体验。我们将负责其余工作。使用我们的 Android、iOS 和 JavaScript SDK 构建跨平台原生移动和 Web 应用。您还可以使用我们的服务器端库或 REST API 将 Firebase 连接到您现有的后端。

Firebase 功能

  • 实时数据库 − Firebase 支持 JSON 数据,并且连接到它的所有用户都会在每次更改后收到实时更新。

  • 身份验证 −我们可以使用匿名、密码或不同的社交身份验证。

  • 托管 − 应用程序可以通过与 Firebase 服务器的安全连接进行部署。

Firebase 优势

  • 它简单且用户友好。无需复杂的配置。

  • 数据是实时的,这意味着每次更改都会自动更新连接的客户端。

  • Firebase 提供简单的控制仪表板。

  • 有许多有用的服务可供选择。

Firebase 限制

  • Firebase 免费计划限制为 50 个连接和 100 MB 存储空间。

在下一章中,我们将讨论 Firebase 的环境设置。

Firebase - 环境设置

在本章中,我们将向您展示如何将 Firebase 添加到现有应用程序中。我们将需要 NodeJS。如果您还没有,请查看下表中的链接。

Sr.No. 软件和说明
1

NodeJS 和 NPM

NodeJS 是 Firebase 开发所需的平台。查看我们的 NodeJS 环境设置

步骤 1 - 创建 Firebase 帐户

您可以在此处创建 Firebase 帐户。

步骤 2 - 创建 Firebase 应用

您可以从仪表板页面创建新应用。下图显示了我们创建的应用程序。我们可以点击管理应用程序按钮进入应用程序。

Firebase 环境设置

步骤 3a - 创建基本 HTML/js 应用程序

您只需创建一个放置应用程序的文件夹。在该文件夹中,我们将需要 index.htmlindex.js 文件。我们将 Firebase 添加到我们应用程序的标题中。

index.html

<html>
   <head>
      <script src = "https://cdn.firebase.com/js/client/2.4.2/firebase.js"></script>
      <script type = "text/javascript" src = "index.js"></script>
   </head>
	
   <body>

   </body>
</html>

步骤 3b - 使用 NPM 或 Bower

如果您想使用现有的应用程序,可以使用 Firebase NPM 或 Bowers 软件包。从应用程序根文件夹运行以下命令之一。

npm install firebase --save
bower install firebase

Firebase - 数据

Firebase 数据表示 JSON 对象。如果您从 Firebase 仪表板打开应用程序,则可以通过单击 + 符号手动添加数据。

我们将创建一个简单的数据结构。您可以查看下面的图片。

Firebase Data Simple

在上一章中,我们将 Firebase 连接到我们的应用程序。现在,我们可以将 Firebase 记录到控制台。

console.log(firebase)
Firebase Data Log

我们可以创建对玩家集合的引用。

var ref = firebase.database().ref('players');

console.log(ref);

我们可以在控制台中看到以下结果。

Firebase Data Players Log

Firebase - 数组

本章将解释 Firebase 数组的表示形式。我们将使用上一章中的相同数据。

Firebase Arrays Simple

我们可以通过将以下 JSON 树发送到玩家的集合来创建此数据。

['john', 'amanda']

这是因为 Firebase 不直接支持数组,但它会创建一个以整数作为键名的对象列表。

不使用数组的原因是因为 Firebase 充当实时数据库,如果几个用户同时操作数组,结果可能会有问题,因为数组索引在不断变化。

Firebase 处理它的方式是,键(索引)将始终保持不变。我们可以删除 john,而 amanda 仍将拥有键 (索引) 1。

Firebase Arrays Changed

Firebase - 写入数据

在本章中,我们将向您展示如何将数据保存到 Firebase。

设置

set 方法将在指定路径上写入或替换数据。让我们创建对玩家集合的引用并设置两个玩家。

var playersRef = firebase.database().ref("players/");

playersRef.set ({
   John: {
      number: 1,
      age: 30
   },
	
   Amanda: {
      number: 2,
      age: 20
   }
});

我们将看到以下结果。

Firebase 写入数据集

更新

我们可以用类似的方式更新 Firebase 数据。请注意我们如何使用 players/john 路径。

var johnRef = firebase.database().ref("players/John");

johnRef.update ({
    "number": 10
});

当我们刷新应用时,我们可以看到 Firebase 数据正在更新。

Firebase 写入数据更新

Firebase - 写入列表数据

在上一章中,我们向您展示了如何在 Firebase 中写入数据。有时您需要为数据设置唯一标识符。当您想要为数据创建唯一标识符时,您需要使用 push 方法而不是 set 方法。

Push 方法

push() 方法将在推送数据时创建一个唯一的 id。如果我们想使用唯一的 id 创建前几章中的玩家,我们可以使用下面给出的代码片段。

var ref = new Firebase('https://tutorialsfirebase.firebaseio.com');

var playersRef = ref.child("players");
playersRef.push ({
   name: "John",
   number: 1,
   age: 30
});

playersRef.push ({
   name: "Amanda",
   number: 2,
   age: 20
});

现在我们的数据看起来会有所不同。名称将只是一个名称/值对,就像其他属性一样。

Firebase Write List Data Push

Key 方法

我们可以使用 key() 方法从 Firebase 获取任何密钥。例如,如果我们想获取我们的集合名称,我们可以使用以下代码片段。

var ref = new Firebase('https://tutorialsfirebase.firebaseio.com');

var playersRef = ref.child("players");

var playersKey = playersRef.key();
console.log(playersKey);

控制台将记录我们的集合名称(玩家)。

Firebase 写入列表数据键

下一章将对此进行更多介绍。

Firebase - 写入事务数据

当您需要从数据库返回一些数据,然后对其进行一些计算并将其存储回来时,将使用事务数据。

假设我们的玩家列表中有一个玩家。

Firebase 写入事务数据开始

我们想要检索属性,添加一岁并将其返回给 Firebase。

amandaRef 正在从集合中检索年龄然后我们可以使用事务方法。我们将获取当前年龄,添加一年并更新集合。

var ref = new Firebase('https://tutorialsfirebase.firebaseio.com');

var amandaAgeRef = ref.child("players").child("-KGb1Ls-gEErWbAMMnZC").child('age');

amandaAgeRef.transaction(function(currentAge) {
   return currentAge + 1;
});

如果我们运行此代码,我们可以看到年龄值已更新为21

Firebase 写入事务数据更新

Firebase - 读取数据

在本章中,我们将向您展示如何读取 Firebase 数据。下图显示了我们要读取的数据。

Firebase 读取数据数据库

我们可以使用 on() 方法来检索数据。此方法将事件类型作为"值",然后检索数据的快照。当我们将 val() 方法添加到快照时,我们将获得数据的 JavaScript 表示。

示例

让我们考虑以下示例。

var ref = firebase.database().ref();

ref.on("value", function(snapshot) {
    console.log(snapshot.val());
}, function (error) {
    console.log("Error: " + error.code);
});

如果我们运行以下代码,我们的控制台将显示数据。

Firebase 读取数据日志

在下一章中,我们将解释可用于读取数据的其他事件类型。

Firebase - 事件类型

Firebase 提供了几种不同的事件类型来读取数据。下面介绍了一些最常用的事件类型。

value

第一个事件类型是 value。我们在上一章中向您展示了如何使用 value。每次数据更改时都会触发此事件类型,它将检索包括子级在内的所有数据。

child_added

此事件类型将为每个玩家触发一次,并且每次将新玩家添加到我们的数据时都会触发一次。它对于读取列表数据很有用,因为我们可以从列表中访问已添加的玩家和之前的玩家。

示例

让我们考虑以下示例。

var playersRef = firebase.database().ref("players/");

playersRef.on("child_added", function(data, prevChildKey) {
   var newPlayer = data.val();
   console.log("name: " + newPlayer.name);
   console.log("age: " + newPlayer.age);
   console.log("number: " + newPlayer.number);
   console.log("Previous Player: " + prevChildKey);
});

我们将得到以下结果。

事件类型 Child Added Log

如果我们添加一个名为 Bob 的新玩家,我们将获得更新的数据。

事件类型 Child Added updated Log

child_changed

当数据发生变化时,会触发此事件类型。

示例

让我们考虑以下示例。

var playersRef = firebase.database().ref("players/");

playersRef.on("child_changed", function(data) {
    var player = data.val();
    console.log("更新后的玩家名称为 " + player.name);
});

我们可以在 Firebase 中将 Bob 更改为 Maria 以获取更新。

Event Type Child Changed Log

child_removed

如果我们想要获取已删除数据的访问权限,我们可以使用 child_removed 事件类型。

示例

var playersRef = firebase.database().ref("players/");

playersRef.on("child_removed", function(data) {
   var deletedPlayer = data.val();
   console.log(deletedPlayer.name + " has been deleted");
});

现在,我们可以从 Firebase 中删除 Maria 以获取通知。

事件类型子级已删除日志

Firebase - 分离回调

本章将向您展示如何在 Firebase 中分离回调。

分离事件类型的回调

假设我们想要分离具有 value 事件类型的函数的回调。

示例

var playersRef = firebase.database().ref("players/");

ref.on("value", function(data) {
    console.log(data.val());
}, function (error) {
    console.log("Error: " + error.code);
});

我们需要使用 off() 方法。这将删除所有具有 value 事件类型的回调。

playersRef.off("value");

分离所有回调

当我们想要分离所有回调时,我们可以使用 −

playersRef.off();

Firebase - 查询

Firebase 提供了多种数据排序方式。在本章中,我们将展示简单的查询示例。我们将使用前几章中的相同数据。

Firebase Queries Data

按子项排序

要按名称排序数据,我们可以使用以下代码。

示例

让我们考虑以下示例。

var playersRef = firebase.database().ref("players/");

playersRef.orderByChild("name").on("child_added", function(data) {
console.log(data.val().name);
});

我们将按字母顺序查看名称。

Firebase Queries Order By Child

按键排序

我们可以按键以类似的方式对数据进行排序。

示例

让我们考虑以下示例。

var playersRef = firebase.database().ref("players/");

playersRef.orderByKey().on("child_added", function(data) {
   console.log(data.key);
});

输出将如下所示。

Firebase Queries Order By Key

按值排序

我们还可以按值对数据进行排序。让我们在 Firebase 中添加评级集合。

Firebase Queries Rating Data

现在我们可以按每个玩家的值对数据进行排序。

示例

让我们考虑以下示例。

var ratingRef = firebase.database().ref("ratings/");

ratingRef.orderByValue().on("value", function(data) {
   
   data.forEach(function(data) {
      console.log("The " + data.key + " rating is " + data.val());
   });
   
});

输出将如下所示。

Firebase Queries Rating Log

Firebase - 过滤数据

Firebase 提供了几种过滤数据的方法。

限制第一个和最后一个

让我们了解第一个和最后一个的限制是什么。

  • limitToFirst 方法从第一个开始返回指定数量的项目。

  • limitToLast 方法从最后一个开始返回指定数量的项目。

我们的示例展示了它是如何工作的。由于数据库中只有两名球员,我们将查询限制为一名球员。

示例

让我们考虑以下示例。

var firstPlayerRef = firebase.database().ref("players/").limitToFirst(1);

var lastPlayerRef = firebase.database().ref('players/').limitToLast(1);

firstPlayerRef.on("value", function(data) {
   console.log(data.val());
}, function (error) {
   console.log("Error: " + error.code);
});

lastPlayerRef.on("value", function(data) {
   console.log(data.val());
}, function (error) {
   console.log("Error: " + error.code);
});

我们的控制台将记录第一个查询中的第一个玩家,以及第二个查询中的最后一名玩家。

Firebase 过滤数据限制为第一个最后一个

其他过滤器

我们还可以使用其他 Firebase 过滤方法。startAt()endAt()equalTo() 可以与排序方法结合使用。在我们的示例中,我们将它与 orderByChild() 方法结合使用。

示例

让我们考虑以下示例。

var playersRef = firebase.database().ref("players/");

playersRef.orderByChild("name").startAt("Amanda").on("child_added", function(data) {
   console.log("Start at filter: " + data.val().name);
});

playersRef.orderByChild("name").endAt("Amanda").on("child_added", function(data) {
   console.log("End at filter: " + data.val().name);
});

playersRef.orderByChild("name").equalTo("John").on("child_added", function(data) {
   console.log("Equal to filter: " + data.val().name);
});

playersRef.orderByChild("age").startAt(20).on("child_added", function(data) {
   console.log("Age filter: " + data.val().name);
});

第一个查询将按名称对元素进行排序,并从名为 Amanda 的玩家中进行筛选。控制台将记录两个玩家。第二个查询将记录"Amanda",因为我们以此名称结束查询。第三个查询将记录"John",因为我们正在搜索具有该名称的玩家。

第四个示例展示了如何将过滤器与"年龄"值组合在一起。由于年龄由数字值表示,因此我们在 startAt() 方法中传递的是数字而不是字符串。

Firebase Filtering Data Start End Equal

Firebase - 最佳实践

在本章中,我们将介绍 Firebase 的最佳实践。

避免嵌套数据

从 Firebase 获取数据时,您将获得所有子节点。这就是为什么深度嵌套不是最佳实践的原因。

非规范化数据

当您需要深度嵌套功能时,请考虑添加几个不同的集合;即使您需要添加一些数据重复并使用多个请求来检索所需内容。

Firebase - 电子邮件身份验证

在本章中,我们将向您展示如何使用 Firebase 电子邮件/密码身份验证。

创建用户

要对用户进行身份验证,我们可以使用 createUserWithEmailAndPassword(email, password) 方法。

示例

让我们考虑以下示例。

var email = "myemail@email.com";
var password = "mypassword";

firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
   console.log(error.code);
   console.log(error.message);
});

我们可以检查 Firebase 仪表板并看到用户已创建。

Firebase 电子邮件身份验证用户

登录

登录过程几乎相同。我们使用 signInWithEmailAndPassword(email, password) 来登录用户。

示例

让我们考虑以下示例。

var email = "myemail@email.com";
var password = "mypassword";

firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
   console.log(error.code);
   console.log(error.message);
});

退出

最后,我们可以使用 signOut() 方法退出用户。

示例

让我们考虑以下示例。

firebase.auth().signOut().then(function() {
   console.log("Logged out!")
}, function(error) {
   console.log(error.code);
   console.log(error.message);
});

Firebase - Google 身份验证

在本章中,我们将向您展示如何在 Firebase 中设置 Google 身份验证。

步骤 1 - 启用 Google 身份验证

打开 Firebase 信息中心并单击左侧菜单上的 Auth。要打开可用方法列表,您需要单击选项卡菜单中的 SIGN_IN_METHODS

现在您可以从列表中选择 Google,启用它并保存它。

步骤 2 - 创建按钮

在我们的 index.html 中,我们将添加两个按钮。

index.html

<button onclick = "googleSignin()">Google Signin</button>
<button onclick = "googleSignout()">Google Signout</button>

步骤 3 - 登录和退出

在此步骤中,我们将创建登录和退出函数。我们将使用 signInWithPopup()signOut() 方法。

示例

让我们考虑以下示例。

var provider = new firebase.auth.GoogleAuthProvider();

function googleSignin() {
   firebase.auth()
   
   .signInWithPopup(provider).then(function(result) {
      var token = result.credential.accessToken;
      var user = result.user;
		
      console.log(token)
      console.log(user)
   }).catch(function(error) {
      var errorCode = error.code;
      var errorMessage = error.message;
		
      console.log(error.code)
      console.log(error.message)
   });
}

function googleSignout() {
   firebase.auth().signOut()
	
   .then(function() {
      console.log('Signout Succesfull')
   }, function(error) {
      console.log('Signout Failed')  
   });
}

刷新页面后,我们可以点击 Google Signin 按钮来触发 Google 弹出窗口。如果登录成功,开发者控制台将登录我们的用户。

我们还可以点击 Google Signout 按钮从应用中注销。控制台将确认注销成功。

Firebase Google Auth Log

Firebase - Facebook 身份验证

在本章中,我们将使用 Firebase Facebook 身份验证对用户进行身份验证。

步骤 1 - 启用 Facebook 身份验证

我们需要打开 Firebase 仪表板并点击侧面菜单中的 Auth。接下来,我们需要在标签栏中选择 SIGN-IN-METHOD。我们将启用 Facebook 身份验证并将其保持打开状态,因为我们需要在完成第 2 步后添加 App IDApp Secret

第 2 步 - 创建 Facebook 应用

要启用 Facebook 身份验证,我们需要创建 Facebook 应用。单击此链接开始。创建应用后,我们需要将 App IDApp Secret 复制到 Firebase 页面,该页面在第 1 步中保持打开状态。我们还需要将 OAuth 重定向 URI 从此窗口复制到 Facebook 应用。您可以在 Facebook 应用仪表板的侧面菜单中找到 + 添加产品

选择 Facebook 登录,它将出现在侧面菜单中。您将找到输入字段 有效 OAuth 重定向 URI,您需要从 Firebase 复制 OAuth 重定向 URI

第 3 步 - 连接到 Facebook SDK

将以下代码复制到 index.htmlbody 标签的开头。请务必将 'APP_ID' 替换为您在 Facebook 仪表板上的应用 ID。

示例

让我们考虑以下示例。

<script>
   window.fbAsyncInit = function() {
      FB.init ({
         appId      : 'APP_ID',
         xfbml      : true,
         version    : 'v2.6'
      });
   };

   (function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) {return;}
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/en_US/sdk.js";
      fjs.parentNode.insertBefore(js, fjs);
   } (document, 'script', 'facebook-jssdk'));
	
</script>

第 4 步 - 创建按钮

我们在前三个步骤中设置了所有内容,现在我们可以创建两个按钮用于登录和注销。

index.html

<button onclick = "facebookSignin()">Facebook Signin</button>
<button onclick = "facebookSignout()">Facebook Signout</button>

第 5 步 - 创建身份验证函数

这是最后一步。打开 index.js 并复制以下代码。

index.js

var provider = new firebase.auth.FacebookAuthProvider();

function facebookSignin() {
   firebase.auth().signInWithPopup(provider)
   
   .then(function(result) {
      var token = result.credential.accessToken;
      var user = result.user;
		
      console.log(token)
      console.log(user)
   }).catch(function(error) {
      console.log(error.code);
      console.log(error.message);
   });
}

function facebookSignout() {
   firebase.auth().signOut()
   
   .then(function() {
      console.log('Signout successful!')
   }, function(error) {
      console.log('Signout failed')
   });
}

Firebase - Twitter 身份验证

在本章中,我们将解释如何使用 Twitter 身份验证。

步骤 1 - 创建 Twitter 应用

您可以通过此链接创建 Twitter 应用。创建应用后,单击密钥和访问令牌,您可以在其中找到API 密钥API 机密。您将在第 2 步中需要它们。

步骤 2 - 启用 Twitter 身份验证

在 Firebase 仪表板侧面菜单中,您需要单击身份验证。然后打开SIGN-IN-METHOD选项卡。单击 Twitter 以启用它。您需要从步骤 1 中添加 API KeyAPI Secret

然后您需要复制 回调 URL 并将其粘贴到您的 Twitter 应用中。单击 设置 选项卡时,您可以找到 Twitter 应用的回调 URL。

步骤 3 - 添加按钮

在此步骤中,我们将在 index.htmlbody 标签内添加两个按钮。

index.html

<button onclick = "twitterSignin()">Twitter Signin</button>
<button onclick = "twitterSignout()">Twitter Signout</button>

第 4 步 - 身份验证函数

现在我们可以创建 Twitter 身份验证函数了。

index.js

var provider = new firebase.auth.TwitterAuthProvider();

function twitterSignin() {
   firebase.auth().signInWithPopup(provider)
    
  .then(function(result) {
      var token = result.credential.accessToken;
      var user = result.user;
		
      console.log(token)
      console.log(user)
   }).catch(function(error) {
      console.log(error.code)
      console.log(error.message)
   });
}

function twitterSignout() {
   firebase.auth().signOut()
   
   .then(function() {
      console.log('Signout successful!')
   }, function(error) {
      console.log('Signout failed!')
   });
}

启动应用时,我们可以通过单击两个按钮来登录或退出。控制台将确认身份验证成功。

Firebase Twitter Auth Log

Firebase - Github 身份验证

在本章中,我们将向您展示如何使用 GitHub API 对用户进行身份验证。

步骤 1 - 启用 GitHub 身份验证

打开 Firebase 仪表板,从侧面菜单中单击 Auth,然后在标签栏中单击 SIGN-IN-METHOD。您需要启用 GitHub 身份验证并复制回调 URL。您将在第 2 步中需要它。您可以保持此选项卡打开,因为完成第 2 步后,您将需要添加 客户端 ID客户端密钥

第 2 步 - 创建 Github 应用

按照此链接创建 GitHub 应用。您需要将 Firebase 中的 回调 URL 复制到 授权回调 URL 字段中。创建应用后,您需要将 客户端密钥客户端机密 从 GitHub 应用复制到 Firebase。

第 3 步 - 创建按钮

我们将在 body 标签中添加两个按钮。

index.html

<button onclick = "githubSignin()">Github Signin</button>
<button onclick = "githubSignout()">Github Signout</button>

第 4 步 - 创建身份验证函数

我们将在 index.js 文件中创建用于登录和注销的函数。

index.js

var provider = new firebase.auth.GithubAuthProvider();

function githubSignin() {
   firebase.auth().signInWithPopup(provider)
   
   .then(function(result) {
      var token = result.credential.accessToken;
      var user = result.user;
		
      console.log(token)
      console.log(user)
   }).catch(function(error) {
      var errorCode = error.code;
      var errorMessage = error.message;
		
      console.log(error.code)
      console.log(error.message)
   });
}

function githubSignout(){
   firebase.auth().signOut()
   
   .then(function() {
      console.log('Signout successful!')
   }, function(error) {
      console.log('Signout failed')
   });
}

现在我们可以点击按钮来触发身份验证。控制台将显示身份验证成功。

Firebase Github Auth Log

Firebase - 匿名身份验证

在本章中,我们将匿名验证用户。

步骤 1 - 启用匿名身份验证

这与我们之前的章节中的过程相同。您需要打开 Firebase 仪表板,从侧面菜单中单击 Auth,然后单击标签栏内的 SIGN-IN-METHOD。您需要启用匿名身份验证。

第 2 步 - 登录函数

我们可以使用 signInAnonymously() 方法进行此身份验证。

示例

让我们考虑以下示例。

firebase.auth().signInAnonymously()
.then(function() {
   console.log('Logged in as Anonymous!')
   
   }).catch(function(error) {
   var errorCode = error.code;
   var errorMessage = error.message;
   console.log(errorCode);
   console.log(errorMessage);
});

Firebase - 离线功能

在本章中,我们将向您展示如何处理 Firebase 连接状态。

检查连接

我们可以使用以下代码检查连接值。

index.js

var connectedRef = firebase.database().ref(".info/connected");

connectedRef.on("value", function(snap) {
   if (snap.val() === true) {
      alert("connected");
   } else {
      alert("not connected");
   }
});

当我们运行应用程序时,弹出窗口会通知我们有关连接的信息。

Firebase Offline Popup

通过使用上面给出的函数,您可以跟踪连接状态并相应地更新您的应用程序。

Firebase - 安全性

Firebase 中的安全性通过在安全规则中设置类似 JSON 的对象来处理。单击侧面菜单中的数据库,然后单击标签栏中的规则,即可找到安全规则。

在本章中,我们将通过几个简单的示例向您展示如何保护 Firebase 数据。

读取和写入

Firebase 安全规则中定义的以下代码片段将允许具有相同uid的经过身份验证的用户对/users/'$uid'/进行写入访问,但每个人都可以读取它。

示例

让我们考虑以下示例。

{
   "rules": {
      "users": {
         
         "$uid": {
            ".write": "$uid === auth.uid",
            ".read": true
         }
         
      }
   }
}

验证

我们可以使用以下示例将数据强制转换为字符串。

示例

{
   "rules": {
      
      "foo": {
         ".validate": "newData.isString()"
      }
      
   }
}

本章仅介绍了 Firebase 安全规则的表面。重要的是了解这些规则的工作原理,以便您可以在应用程序内部组合它们。

Firebase - 部署

在本章中,我们将向您展示如何在 Firebase 服务器上托管您的应用程序。

在开始之前,让我们在 index.html body 标签中添加一些文本。在此示例中,我们将添加以下文本。

<h1>欢迎使用 FIREBASE 教程应用程序</h1>

步骤 1 - 安装 Firebase 工具

我们需要在命令提示符窗口中全局安装 firebase 工具。

npm install -g firebase-tools

步骤 2 - 初始化 Firebase 应用

首先,我们需要在命令提示符中登录 Firebase。

firebase login

命令提示符中打开应用的根文件夹并运行以下命令。

firebase init

此命令将初始化您的应用。

注意 −如果您使用了默认配置,则将创建 public 文件夹,并且此文件夹中的 index.html 将成为您应用的起点。您可以将应用文件复制到 public 文件夹中,作为一种解决方法。

步骤 3 - 部署 Firebase 应用

这是本章的最后一步。从 命令提示符 运行以下命令来部署您的应用。

firebase deploy

完成此步骤后,控制台将记录您应用的 Firebase URL。在我们的例子中,它被称为 https://tutorialsfirebase.firebaseapp.com。我们可以在浏览器中运行此链接来查看我们的应用程序。

Firebase Deploying