2016-11-24 36 views
2

1)我已經安裝在本地主機上meteor.js就跑我已經安裝了prerender服務器附近的應用程序目錄應用meteor.jshttps://github.com/meteor/simple-todos-react設置prerender.io爲

2):

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

但是,當我去到鏈接view-source:http://localhost:3000/?_escaped_fragment_=我沒有看到渲染html

我看到一個錯誤:

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

我在做什麼錯?

+0

你看到你的預渲染服務器日誌任何控制檯輸出? –

回答

1

掙配置選項:

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); 
    }); 
1
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 
}, 
} 
+0

我不需要從http://prerender.io獲取令牌,因爲我在本地展開服務器並在本地服務器獲取令牌的位置? – alex10