如何使用firebase函数提供位于我的blog
文件夹中的index.html
文件。
这是我的文件树
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
(从functions文件夹)
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’作为备用。
任何关于解决这个问题的指导意见都将不胜感激。
发布于 2018-06-19 08:14:01
在部署函数时,functions
文件夹中的所有内容都会打包并发送到Cloud functions。该文件夹之外的任何内容都不会被发送,这意味着您的blog
文件夹在运行时不可用(您的静态web内容也不会部署到Firebase托管)。如果您希望部署的代码在运行时可以读取blog
的内容,那么在运行deploy命令之前,它应该位于functions
文件夹中。
https://stackoverflow.com/questions/50918961
复制相似问题