【问题标题】:Does Firebase Hosting support routing using Express.js. I want to host a dynamic Node.js application in firebase hostingFirebase 托管是否支持使用 Express.js 进行路由。我想在 firebase 托管中托管一个动态 Node.js 应用程序
【发布时间】:2018-07-30 18:19:01
【问题描述】:

能否使用 firebase 托管来部署需要动态路由的 node.js 应用程序。为什么他们说托管可以用来部署单页应用。

Firebase Hosting project structure

类似这样的:

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var homeRouter = require('./routes/home');

然后在路由文件夹中有路由

【问题讨论】:

  • 我不明白你想在这里完成什么。请编辑问题以更详细地解释。
  • @DougStevenson 修改了上述问题。谢谢!
  • 我还是不明白。您已使用 Firebase Hosting 和 Cloud Functions 标记了这个问题。你想把他们两个放在一起做什么?您是在客户端还是服务器端设置路由?

标签: firebase google-cloud-functions firebase-hosting


【解决方案1】:

Firebase Cloud Functions 确实支持 Express.js 路由。

您可以在docs 中阅读更多内容,或关注this medium post 以获得更多演练。

编辑:

有关使用模块导入的快速路由器的更多信息,请查看this blog

【讨论】:

  • 您好 Eric,我知道它确实支持 express.js 路由。但是我们可以在 outr index.js 文件中实例化多个路由并导出每个路由吗?
  • 如果没有 'routes/*' 文件的内容,我真的无法分辨。但是,如果您尝试通过模块注册路由,则应该查看:terlici.com/2014/09/29/express-router.html 它向您展示了一种通过 app.use(require('...')) 语法使用 express 注册路由的方法路由器。
【解决方案2】:

{
 "hosting": {
   // ...

   // Add the "rewrites" attribute within "hosting"
   "rewrites": [ {
     "source": "**", // <<< Do this in your firebase.json
     "function": "app"
   } ]
 }
}

【讨论】:

  • 一般来说,如果答案包含对代码的用途的解释,以及为什么在不介绍其他人的情况下解决问题的原因,答案会更有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2020-06-17
  • 2014-12-24
  • 2021-11-04
  • 2019-07-25
  • 2016-12-28
相关资源
最近更新 更多