如何在Firebase Free Hosting上托管Angular + Express(API)。
#angular #firebase #express #mongodb

在这个故事中,我将谈论Firebase托管Angular和Express API。我在这里考虑了卑鄙的堆栈。

在本文中,我将假设该应用程序已准备就绪,而Express API已准备就绪。

什么是Firebase托管?

Firebase Hosting是一款Google托管服务,以安全,快速,免费和简便的方式为用户提供静态Web内容。

为什么要托管?

大多数网络托管都会向您收取您的费用,或者如果他们免费的话,您也需要额外支付SSL证书以将您的网站转换为使用HTTPS的安全网站。

Firebase托管是免费的。因此,这不会再花费您了。默认情况下,它提供了SSL证书,并在多个地理位置上提供了令人印象深刻的速度,而无需在顶部单独的CDN。

要求

Google帐户:

我相信您可能已经拥有一个Gmail帐户,这已经足够了。如果不是创建一个。

firebase-cli:
在安装Firebase CLI之前,您需要在计算机上安装Node.js。

安装了nodejs后,您可以通过运行以下命令来使用NPM(Node Package Manager)安装Firebase CLI:

npm install -g firebase-tools

让我们开始:)

步骤1:创建Firebase Project

转到(https://firebase.google.com/)并使用您的Google帐户登录

Image description

然后创建新项目,输入您的项目名称(在我的情况下为firebase-express-demo)

Image description

步骤2:Firebase登录
现在回到命令行,转到您的项目文件夹

cd firebase-express-demo

首先,我们必须从命令行登录到firebase。输入以下命令。

firebase login

它将带您进入浏览器中的登录页面,一旦您成功登录它将显示这样的东西。

步骤3:设置项目

要在现有项目中设置firebase,您必须执行以下任务。

  1. 创建firebase.json到您的项目的根源(您可以阅读有关firebase.json(https://firebase.google.com/docs/hosting/full-config
  2. 的更多信息
  3. 可选,创建.firebaserc(如果您有多个环境和多个网站,这可能有用)

这就是我的firebase.json和.firebaserc看起来像
(https://github.com/erashu212/firebase-express-demo/blob/master/firebase.json)

我们将使用Firebase功能和HTTP事件来路由Express API。

在我的firebase.json中,有一部分托管有公共,重写和功能属性。

公共

它告诉Firebase将该文件夹公开访问。这应该是最终用户可用的文件夹。就我的情况而

重写

顾名思义,它是一个重新编写的,它触发了指定源的命中功能。

在我的情况下,在公共领域的命中(https://firebase-express-demo.firebaseapp.com/)上,它将触发函数ExpressApp

功能

此块用于暴露您的HTTPS事件和Firebase功能。就我而言,我已经说出可以找到ExpressApp功能的位置。

"source": "<dir_name>", in my case it is functions folder

在这个项目中,我在根文件夹下创建了两个子文件夹。

服务器:此目录将保留所有相关的内容。

函数:这将保留Firebase托管的代码和结构。

firebase部署要求在功能文件夹中列出的所有依赖项。

包装中定义的依赖项。JSON将在部署期间新鲜安装。

步骤5:部署
在此演示项目中,我编写了一个小脚本,该脚本将把dist,服务器和依赖项复制到函数目录。

您可以在此处看到脚本

https://github.com/erashu212/firebase-express-demo/blob/master/index.js

当我们说

firebase deploy

它将部署firebase.json中提到的文件夹。

恭喜!您的网站现已直播,您可以通过转到命令行中提供的URL检查,在我的情况下是(https://fir-demo-63781.firebaseapp.com/


如果您喜欢这个,请单击下面的“!”,以便其他人在媒体上看到这一点。请不要忘记喜欢,订阅和评论。