在这个故事中,我将谈论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帐户登录
然后创建新项目,输入您的项目名称(在我的情况下为firebase-express-demo)
步骤2:Firebase登录
现在回到命令行,转到您的项目文件夹
cd firebase-express-demo
首先,我们必须从命令行登录到firebase。输入以下命令。
firebase login
它将带您进入浏览器中的登录页面,一旦您成功登录它将显示这样的东西。
步骤3:设置项目
要在现有项目中设置firebase,您必须执行以下任务。
- 创建firebase.json到您的项目的根源(您可以阅读有关firebase.json(https://firebase.google.com/docs/hosting/full-config) 的更多信息
- 可选,创建.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/)
如果您喜欢这个,请单击下面的“!”,以便其他人在媒体上看到这一点。请不要忘记喜欢,订阅和评论。