首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >针对firebase上托管的angular应用程序测试prerender.io中间件

针对firebase上托管的angular应用程序测试prerender.io中间件
EN

Stack Overflow用户
提问于 2018-11-06 02:14:43
回答 1查看 818关注 0票数 0

我有一个角度应用程序托管在火基上,并试图使用prerender.io来提高其搜索引擎优化。

下面是我使用firebase函数部署的prerender.io中间件的一个非常简单的设置

代码语言:javascript
运行
复制
import * as functions from 'firebase-functions';
import * as express from 'express';

const app = express();
app.use(require('prerender-node').set('prerenderToken', 'myToken'));
app.get('**', function (req, res) {
 res.sendFile('dist/browser/index.html', {'root': '.'});
});
export const myApp = functions.https.onRequest(app);

prerender-node中间件只为爬虫请求预渲染页面。不幸的是,在最初的几天里,没有爬虫向我的应用程序发出请求,所以我想自己测试一下。

这就是我尝试模拟爬虫调用的方法。我查看了一下prerender-node源代码,发现有一个shouldShowPrerenderedPage方法可以通过user-agent header检查爬虫是否完成了请求。

我使用User-Agent=googlebot向我的应用程序发出http GET请求,但得到一个错误

代码语言:javascript
运行
复制
getaddrinfo ENOTFOUND service.prerender.io service.prerender.io:443
at errnoException (dns.js:28:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)

如果我删除头文件,一切正常,但没有预渲染发生。

有没有人遇到过同样的问题?

耽误您时间,实在对不起。

EN

回答 1

Stack Overflow用户

发布于 2018-11-06 22:28:19

这看起来像是它试图在DNS中查找https://service.prerender.io,但失败了。看起来Firebase在默认情况下可能不允许DNS查找?Firebase reverse dns lookup ENOTFOUND error node.js dns

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53159938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档