2016-07-25 16 views
1

Ich habe ein Problem mit PrerenderIO Arbeit an meiner App. Ich bin mit [email protected] und prerender-node und ich habe diesen Code in meinem server/prerenderio.js wie diesePrerenderIO funktioniert nicht auf meiner MeteorApp

Meteor.startup(function(){ 
const prerenderio = Npm.require('prerender-node'); 
const settings = Meteor.settings.PrerenderIO; 

console.log(settings); 

if (settings && settings.token && settings.host) { 
    console.log('This is true'); 
    prerenderio.set('prerenderToken', settings.token); 
    prerenderio.set('host', settings.host); 
    prerenderio.set('protocol', 'http'); 
    WebApp.rawConnectHandlers.use(prerenderio); 
    } 
}); 

Und mein settings.json liiks wie diese

{ 
"PrerenderIO": { 
    "token": "wi7DqaiBlaBlaBlaqTGmT", 
    "host": "http://locallhost:3000/" 
}, 
"public":{ 
    "ga": { 
     "id": "UA-XXXXXXXXX-1" 
    } 
} 
} 

einrichten Wenn ich den Server auf meinem lokalen Host starten, erhalte ich Dies auf dem Protokoll

Prerender Token: wi7DqaiBlaBlaBlaqTGmT 

So habe ich PrerenderIO lokalen Server aufausgeführtund wenn ich http://localhost:3000/?_escaped_fragment_= ausführen, dauert es lange und dann "Localhost nicht gefunden" zurückgegeben und protokolliert einige Fehler in meinen Meteorserver-Logs.

Auch wenn ich die App auf meinem Host bereitstellen, und die mein Prerender.io Dashboard besuchen, sehe ich immer noch die Warnung, dass ich nicht mein Prerender Token installiert habe.

wenn ich http://localhost:3033/http://localhost:3000 besuchen erhalte ich die Cache-Seite ohne die Bilder

Bitte HINWEIS i versucht haben, die folgenden Pakete dfischer:prerenderio und dferber:prerender aber das gleiche.

+0

Hallo, da. Sie sollten Ihr Token neu generieren, da Sie es hier veröffentlicht haben. Jemand könnte diesen Token benutzen und Geld kosten. Wenn Sie zu "http: // localhost: 3000 /? _escaped_fragment_ =" wechseln, wird eine Anforderung an Ihren lokalen Prerender-Server gesendet? Sie sollten sehen, einige Konsolen-Ausgabe auf dem Prerender-Server, wenn es die Anfrage sendet –

+0

Danke @ Prerender.io, Das ist nicht mein Token ... verändert den größten Teil davon. Und ** Nein **, ich habe auf dem Prerender-Server nichts gesehen, aber auf meinem Meteor sehe ich einige Fehlerprotokolle. 'Fehler: Socket auflegen ...' – Kenshinman

+0

Ich glaube, ich sehe ein zusätzliches 'l' in Ihrem Host von 'http: // locallhost: 3000 /'. Wenn Sie Ihren Server lokal ausführen, legen Sie außerdem die prerrenderServiceUrl-Variable auf "http: // localhost: 3033 /' "fest? –

Antwort

0

Irgendwo auf Ihrem Server müssen Sie Meteor importieren, um Ihre privaten Einstellungen zu holen, Sie müssen prerenderIO von Ihren Node-Modulen und der WebApp von meteor/webapp importieren. Richten Sie Ihre Konfigurationsdatei für Prerender wie folgt aus:

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

Meteor.startup(() => { 
    const settings = Meteor.settings.private.PrerenderIO; 

    if (settings && settings.token && settings.host) { 
     prerenderIO.set('prerenderToken', settings.token); 
     prerenderIO.set('host', settings.host); 
     prerenderIO.set('protocol', 'http'); 
     WebApp.rawConnectHandlers.use(prerenderIO); 
    } 
}); 

Auch in Ihren Einstellungen, brauchen Sie nicht http in Ihrem Domain-String aufgenommen werden, wie Sie es auf dem Server durch den Aufruf der Protokollverfahren sind einstellen. Ihre Host-URL sollte nur lauten: localhost: 3000