我只想知道puppeteer/rendetron和prerender.io之间的基本区别是什么,而采用此解决方案的最佳方法是预渲染页面并在seo下准备页面。还有一个-我知道rendetron是在基本的 puppeteer 上创建的,但是rendetron还能做得更多吗?我的意思是,如果在这种情况下他是在基本的 puppeteer 戏中创建的,那么应该使 puppeteer 戏能够完全执行rendetron可以做的事情,例如,为什么我应该选择rendetron?还是我应该放弃这两个开源解决方案并选择prerender.io?

最佳答案

Prerender.io也可以作为开放源代码使用:https://github.com/prerender/prerender
如果深入研究他们的代码,您会看到他们使用chrome-remote-interface:https://github.com/prerender/prerender/blob/master/lib/browsers/chrome.js
他们的行为与操纵up和rendetron的行为相同,但是它们具有基于Chrome远程调试协议(protocol)的抽象概念。因此,最终要决定您喜欢哪种抽象。他们最终都在做同一件事。
但是,主要考虑因素之一是确定浏览器实例的生命周期。您是否希望在新的浏览器实例中执行每个页面/URL请求?新的页面/标签?为每个作业/项目/代码执行保留相同的浏览器?是否已将带有UI的“真实” Chrome实例附加到用户界面?首先可能要问的是那些更重要的问题,然后再确定哪种解决方案最能使您做自己想做的事情。我只在生产中使用了puppeteer,它可以完成我上面提到的所有操作,但是根据您的情况使用其他解决方案可能会有所帮助。

10-05 18:40