如何使用firebase功能提供位于index.html
文件夹中的blog
文件。
这是我的文件树
FirebaseWebsite
│
├── blog
│ ├── index.html
│ ├── css
│ │ ├── fonts
│ │ │ ├── FontAwesome.otf
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.svg
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ └── fontawesome-webfont.woff
│ │ ├── images
│ │ │ └── banner.jpg
│ │ └── style.css
│ ├── fancybox
│ │ ├── blank.gif
│ │ ├── fancybox_loading.gif
│ │ ├── fancybox_loading@2x.gif
│ │ ├── fancybox_overlay.png
│ │ ├── fancybox_sprite.png
│ │ ├── fancybox_sprite@2x.png
│ │ ├── helpers
│ │ │ ├── fancybox_buttons.png
│ │ │ ├── jquery.fancybox-buttons.css
│ │ │ ├── jquery.fancybox-buttons.js
│ │ │ ├── jquery.fancybox-media.js
│ │ │ ├── jquery.fancybox-thumbs.css
│ │ │ └── jquery.fancybox-thumbs.js
│ │ ├── jquery.fancybox.css
│ │ ├── jquery.fancybox.js
│ │ └── jquery.fancybox.pack.js
│ ├── js
│ │ └── script.js
│ └── tags
│ └── Topic-for-blog
│ └── index.html
├── index.js
│
├── functions
│ └── index.js
│
├── Public
│ └── aboutUs.html
│
└── firebase.json
这是我正在使用的firebase功能
index.js
(来自函数文件夹)
const functions = require('firebase-functions');
const express = require('express');
const blogApp = express();
blogApp.get('/blog', (request, response) => {
response.sendfile('../blog/public/index.html');
});
exports.blogApp = functions.https.onRequest(blogApp);
以下是配置
firebase.json
{
"database": {
"rules": "database.rules.json"
},
"hosting": {
"public": "public",
"rewrites": [
{
"source": "/blog",
"function": "blogApp"
}
],
"cleanUrls": true
}
}
以下是访问url
时出现的错误拒绝加载图片''因为它违反了以下内容 内容安全策略指令:“default-src'self'”。注意 'img-src'没有明确设置,所以'default-src'用作a 回退。
非常感谢任何有关解决此问题的指导。
答案 0 :(得分:0)
部署功能时,functions
文件夹中的所有内容都会打包并发送到云功能。此文件夹之外没有任何内容发送,这意味着您的blog
文件夹在运行时不可用(您的静态Web内容也未部署到Firebase托管)。如果您希望部署的代码在运行时可以读取blog
的内容,则在运行deploy命令之前它应该位于functions
文件夹中。