我一直在寻找到使用prerender
我的角的应用程序,并遇到了一些麻烦思考如何实现它的生产,更具体地说,Heroku的。部署Prerender.io用Node.js的生产
所以我从上localhost
,我可以localhost:9000
运行我的应用程序,然后在另一个终端上的发言权localhost:9001
运行prerender
实例文档理解。然后,使用prerender-node中间件,我可以说以下内容:
app.use(require('prerender-node').set('prerenderServiceUrl', 'http://localhost:9001'));
我不明白的是我怎么能在localhost:9000
,而不是运行prerender
服务?我真的不想设置一个全新的服务器来运行prerender
。我最关心的一个单独的服务器是如何在生产中调用它?我是否必须将网址设置为my-prerender-server.com
这类需要购买该域的网址?这可能看起来很愚蠢,但我怎么能保持它的美好和简单?我想从一个应用程序如果可能的话所有运行...
任何意见或建议吗?
你能拓展你的设置了一下,你正在使用的自托管解决方案?当我在本地进行测试时,我刚刚下载了demo prerender应用程序,并使用了一条随机命令,我在线看到该服务将绑定服务以侦听localhost:9000。 'node-prerender'库看起来像是一个简单的例子,它只包含一行代码来设置您的URL,但是在开发解决方案时有什么特别的事情需要做? – germainelol
'node-prerender'是一个简单的单线程。服务器与演示程序几乎完全相同,配置也相当简单。您可以通过设置'process.env.PORT'等来更改端口。在我们的角度应用程序中,我们使用'window.prerenderReady = true',这允许我们设置何时加载预渲染器所需的所有资源。我们还设置了s3缓存插件,没有任何问题。 – Thorning
谢谢,所以'node-prerender'将决定请求是否来自bot。你在做'window.prerenderReady = true'时检查什么样的东西?你将如何将这个'prerenderReady'变量传递给服务器,以便它知道何时开始渲染HTML? – germainelol