如何使用Firebase主机修复阻止的CORS



我已经读了很多关于这个主题的文章,但我仍然无法理解它

我已经建立了一个网络应用程序,允许用户抓取他们的网站地图,并将其添加到Firebase中的文档中。我正在使用Firebase托管来托管web应用程序,它被推到了我的子域中。

我正在使用此包爬网网站地图-https://www.npmjs.com/package/get-sitemap-links

我每次在生产中都会遇到这个错误——";访问位于"的XMLHttpRequesthttps://www.userswebsite.com/page-sitemap.xml'来自原点'https://app.mywebsite.com'已被CORS策略阻止:请求的资源上不存在"Access Control Allow Origin"标头">

我还没有为这个网络应用程序创建任何云功能,但读到我必须使用一个功能启用CORS。我该怎么做?

要启用CORS,您必须使用以下命令在function文件夹中安装库

npm i cors --save

并导入如下所示:

const cors = require('cors')({origin: true});

您也可以使用下面的代码段在没有任何库的情况下设置CORS标头

response.set('Access-Control-Allow-Origin', '*');

有关更多信息,请查看此文档和此线程

如果您正在为HTTP功能配置CORS。使用cors选项来控制哪些原点可以访问您的函数。

如果为true,则允许CORS处理对此函数的请求。如果这是一个字符串RegExp允许来自与所提供的值匹配的域的请求。如果这是一个数组,则允许来自至少匹配的域的请求数组的一个条目。https默认为true。可调用函数否则为false。

签名:
cors?: string | boolean | RegExp | Array<string | RegExp>;

最新更新