Я пытаюсь реализовать prerender.io для моего приложения Angular 1.6.0, работающего на собственном сервере Node.js.
В документации по настройке промежуточного программного обеспечения используется промежуточное программное обеспечение подключения, и в частности цитируется Express.js.
app.use(require('prerender-node').set('prerenderToken', 'TOKEN'));
Я не использую Express и не использую промежуточное ПО Connect для запуска своего сервера.
Мой server.js выглядит следующим образом:
var app = http.createServer(function(req, res){
var filePath = './debug/index.html';
var uri = req.url;
// Load index.html only when uri is not referencing a sub-directory of ./www (and is thus a URL)
for(i in dir){
if(uri.includes('/'+dir[i])) {
filePath = './debug'+uri;
break;
}
}
fs.exists(filePath, function(exists) {
if(exists){
fs.readFile(filePath, function(err, html) {
if(err){ res.writeHead(500); res.end(); }
else {
var ext = path.extname(filePath);
var contentType = 'text/html';
switch(ext) {
case '.js':
contentType = 'text/javascript';
break;
case '.css':
contentType = 'text/css';
break;
case '.jpg':
contentType = 'image/jpeg';
break;
case '.png':
contentType = 'image/png';
break;
case '.svg':
contentType = 'image/svg+xml';
break;
case '.pdf':
contentType = 'application/pdf';
break;
default: contentType = 'text/html';
}
res.writeHead(200, { 'Content-Type': contentType });
res.end(html, 'utf-8');
}
});
} else {
res.writeHead(404);
res.end();
}
});
}).listen(port, function(){
console.log('server is running on port '+port);
});
1) Как я могу реализовать prerender.io с этой конфигурацией?
2) На самом деле я установил Connect
и попытался реализовать промежуточное программное обеспечение следующим образом:
var conn = connect();
conn.use(require('prerender-node').set('prerenderServiceUrl','http://localhost:3000/').set('prerenderToken', 'lqnF62jXABouJiFA2SuA'));
Который я только что добавил после приведенного выше кода сервера.
Я не получаю никаких ошибок, но я не вижу ничего на локальном хосте: 3000 после запуска node server
. Хотя мое приложение отлично работает на локальном хосте: 8080.
Как я могу настроить prerender.io на этом сервере?