2016-07-25 6 views
1

私のアプリでPrerenderIOを動作させることに問題があります。 私は[email protected]prerender-nodeを実行していると私は私が私のローカルホスト上のサーバーを起動すると、私が手にこのPrerenderIOがMeteorAppで動作しません

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

のようなこの

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); 
    } 
}); 

そして、私のsettings.json liiksように私のserver/prerenderio.jsにこのコードを設定していますこれはログにあります

Prerender Token: wi7DqaiBlaBlaBlaqTGmT 

したがって、PrerenderIOのローカルサーバーはport:3033と私がhttp://localhost:3000/?_escaped_fragment_=を実行すると、時間がかかるし、 "localhostが見つかりません"と返され、流星サーバーのログにいくつかのエラーが記録されます。

また、ホストにアプリケーションをデプロイしても、私のprerender.ioダッシュボードにアクセスすると、プレレンダートークンをインストールしていないという警告が表示されます。

私はhttp://localhost:3033/http://localhost:3000を訪れたとき、私は画像

せずにキャッシュされたページを取得してくださいNOTE私は、次のパッケージdfischer:prerenderiodferber:prerenderが、同じことをしようとしています。

+0

こんにちは。ここに投稿してからトークンを再生成する必要があります。誰かがそのトークンを使用してお金を払うことができました。 'http:// localhost:3000 /?_escaped_fragment_ ='に行くと、あなたのローカルプレレンダリングサーバにリクエストが送られてきていますか? Prerenderサーバーが要求を送信している場合はコンソール出力が表示されるはずです –

+0

Thanks @ Prerender.io、それは私のトークンではありません...そのほとんどが変更されました。そして** No **、私はPrerenderサーバで何も見なかったが、私の流星では、いくつかのエラーログが表示される 'Error:socket hang up ... ' – Kenshinman

+0

あなたのホストに余分な' l'があると思う'http:// locallhost:3000 /'の中から選択します。また、サーバーをローカルで実行しているときは、prerenderServiceUrl変数を 'http:// localhost:3033 /'に設定していますか? –

答えて

0

サーバーのどこかで、Meteorをインポートしてプライベート設定をフェッチする必要がある場合は、ノードモジュールからprerenderIOをインポートし、meteor/webappからWebAppをインポートする必要があります。セットアップ、このような事前レンダリングのためのあなたの設定ファイル:

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); 
    } 
}); 

はまた、あなたの設定で、あなたは、プロトコルメソッドを呼び出すことにより、サーバでそれを設定しているとして、あなたのドメイン文字列でHTTPを含める必要はありません。あなたのホストのURLはちょうど:localhost:3000

関連する問題