本地主机上 meteor.js 的设置 prerender.io

Settings prerender.io for meteor.js on localhost

1) 我已经安装 运行 应用程序 meteor.js https://github.com/meteor/simple-todos-react

2) 我已经在应用程序目录附近安装了 prerender 服务器:

git clone https://github.com/prerender/prerender.git
cd prerender
npm install

并设置端口:

export PORT=3050

结束运行

node server.js

3) 我已经安装了模块 prerender-node:

meteor npm install prerender-node --save

设置环境变量:

export PRERENDER_SERVICE_URL="http://localhost:3050/"

4) 我在 ./server/main.js 中写道:

import { Meteor } from 'meteor/meteor';
import { WebApp } from 'meteor/webapp';
import prerenderIO from 'prerender-node';

Meteor.startup(() => {
  prerenderIO.set('host', 'localhost');
  prerenderIO.set('protocol', 'http');
  prerenderIO.set('port', '3000');
  WebApp.connectHandlers.use(prerenderIO);
});

但是当我转到 link view-source:http://localhost:3000/?_escaped_fragment_= 时,我没有看到渲染的 html

我看到一个错误:

GET http://localhost:3000/?_escaped_fragment_= 504 

我做错了什么?

import prerenderio from 'prerender-node';
Meteor.startup(() => {
const settings = Meteor.settings.PrerenderIO;
if (settings && settings.token && settings.protocol) {
    prerenderio.set('prerenderToken', settings.token);
    prerenderio.set('protocol', settings.protocol);
    prerenderio.set('forwardHeaders', true);
    prerenderio.set('afterRender', function afterRender(error) {
        if (error) {
            console.log('prerenderio error', error); // eslint-disable-line no-console
            return;
        }
    });
    WebApp.rawConnectHandlers.use(prerenderio);
}
});

settings.json

{
 "PrerenderIO": {
    "token": "xxxxxxxxxxxxxx",
    "protocol": "http" //https
},
}

获得的配置选项:

    import { WebApp } from 'meteor/webapp';
    import { Meteor } from 'meteor/meteor';
    import prerenderio from 'prerender-node';

    Meteor.startup(() => {
      prerenderio.set('host', 'localhost:3000');
      prerenderio.set('protocol', 'http');
      prerenderio.set('forwardHeaders', true);
      prerenderio.set('afterRender', function afterRender(error) {
          if (error) {
             console.log('prerenderio error', error);
             return;
          }
     });
     WebApp.rawConnectHandlers.use(prerenderio); 
   });