无法使用 firebase 从 node.js 部署中引用 public 文件夹
Can't reference public folder from node.js deployment with firebase
看完 Node.js apps on Firebase Hosting 之后,我尝试使用 Polymer 和 NodeJs/express 以及 firebase 托管创建一个项目。
在链接的视频中显示 firebase 默认情况下会提供静态服务public/index.html 文件,这就是他们删除它然后提供动态文件的原因。然而,这个特定的文件在同一个函数目录中,不再放在 public 文件夹中。
这是否意味着我的整个项目应该放在函数文件夹中,或者只是应用入口点?我无法发送放置在我的 public 文件夹中的文件,如下所示。
- 项目
- 函数
- server.js
- public
- index.html
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, '/public/index.html'));
})
我认为 firebase 以不同方式托管 public 和函数文件夹,还是我引用的是错误的?
您需要将 public
文件夹 嵌套在 functions
文件夹 中,以便能够在您的函数中引用其中的文件。您只需将 firebase.json
中的 public
设置更改为例如functions/public
然后将目录移动到 functions
.
然后您就可以像您描述的那样进行操作了。
我认为无需将整个 public 文件夹移动到函数文件夹中。您可以像这样使用相对路径
app.get('*', (req, res) => {
res.sendFile( './../public/index.html'));
})
它对我有用...试试这个。
看完 Node.js apps on Firebase Hosting 之后,我尝试使用 Polymer 和 NodeJs/express 以及 firebase 托管创建一个项目。
在链接的视频中显示 firebase 默认情况下会提供静态服务public/index.html 文件,这就是他们删除它然后提供动态文件的原因。然而,这个特定的文件在同一个函数目录中,不再放在 public 文件夹中。
这是否意味着我的整个项目应该放在函数文件夹中,或者只是应用入口点?我无法发送放置在我的 public 文件夹中的文件,如下所示。
- 项目
- 函数
- server.js
- public
- index.html
- 函数
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, '/public/index.html'));
})
我认为 firebase 以不同方式托管 public 和函数文件夹,还是我引用的是错误的?
您需要将 public
文件夹 嵌套在 functions
文件夹 中,以便能够在您的函数中引用其中的文件。您只需将 firebase.json
中的 public
设置更改为例如functions/public
然后将目录移动到 functions
.
然后您就可以像您描述的那样进行操作了。
我认为无需将整个 public 文件夹移动到函数文件夹中。您可以像这样使用相对路径
app.get('*', (req, res) => {
res.sendFile( './../public/index.html'));
})
它对我有用...试试这个。