在firebase托管上观看node.js应用程序后,我尝试使用聚合物和nodejs/express和firebase托管创建一个项目。
在链接的视频中,firebase将表明firebase将服务默认情况下,静态public/index.html文件,这就是为什么他们将其删除以提供动态的原因。但是,此特定文件位于相同的函数目录中,而不再放置在公共文件夹中。
这是否意味着我的整个项目应放在函数文件夹中,还是仅将应用程序输入点放置在函数文件夹中?我无法发送放置在我的公共文件夹中的文件,如下所示。
- 项目
- 功能
- server.js
- 公共
- index.html
- 功能
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, '/public/index.html'));
})
我相信firebase托管公众和功能文件夹有所不同,或者我是在错误地引用?
您需要嵌套 public
文件夹内部 functions
文件夹才能在功能中从其中引用文件。您只需将firebase.json
中的public
设置更改为例如。functions/public
,然后将目录移入functions
。
然后,您将能够做一些您所描述的事情。
我认为无需将整个公共文件夹移动到功能文件夹中。您可以使用这样的相对路径
app.get('*', (req, res) => {
res.sendFile( './../public/index.html'));
})
它对我有用...尝试一下。