如何将nodeJS项目托管到firebase?
Posted
技术标签:
【中文标题】如何将nodeJS项目托管到firebase?【英文标题】:How to host nodeJS project to firebase? 【发布时间】:2018-01-14 04:28:22 【问题描述】:我正在为项目使用 node、express 和更多其他依赖项。我想知道如何在 firebase 上托管这个项目。我的项目将有控制器、视图和任何其他文件夹以使项目成为可能。它已经有像 pug/handlebars 这样的视图引擎。
在线教程仅显示如何在公用文件夹中使用单个 index.html 托管 firebase。我想如何用所有其他文件夹来托管我的项目?我知道如何在 nodeJS 中使用 firebase,但是如何在 firebase 上托管项目? firebase 将如何访问服务器文件(app/index.js)?我应该把所有这些文件夹放在哪里?
希望我没有要求太多。如果我的问题不清楚,请告诉我,以便我做出澄清。
【问题讨论】:
【参考方案1】:您可以通过 firebase 云功能来做到这一点。 部署身份验证由 Firebase CLI 处理,因此启动并运行一个 hello world 从字面上看是:
firebase init functions
firebase deploy
一个简单的hello world函数
functions.https.onRequest((request, response) =>
response.send(“Hello from Firebase!”);
);
注意:您可以将 express 与 firebase 功能一起使用。
更多请点击文档链接:https://firebase.google.com/docs/functions
【讨论】:
【参考方案2】:你很幸运。 Firebase 本周刚刚发布了video that walks step-by-step through setting up an Node.js/Express app on Firebase Hosting。
这只有在 Cloud Functions 与 Firebase 托管的集成之后才有可能,该产品在 2017 年 I/O 上发布。大多数教程很可能是在那之前,当时无法在 Firebase 托管上运行服务器端代码.
【讨论】:
不错!我一定会检查链接。 嗨,假设我的 nodejs 应用程序在本地连接到 mongo db,这将如何工作 我应该将所有模块文件移动到functions文件夹下吗? 在 Cloud Functions 中运行的服务器端代码所使用的节点模块确实需要位于functions
文件夹下的 node_modules
目录中。前端代码中使用的节点模块需要位于捆绑器用于前端的node_modules
目录中。以上是关于如何将nodeJS项目托管到firebase?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Firebase 身份验证和托管将登录用户重定向到子域?
如何通过 android 将文件保存到 Firebase 托管文件夹位置以获取图像?