Я настроил сервер с Express.js:
const env = process.env.ENV || 'PROD';
const port = process.env.PORT || 8080;
const express = require('express');
const app = express();
if(env === 'PROD') {
app.all('*', function(req, res, next) {
var protocol = req.headers['x-forwarded-proto'];
if(protocol && protocol === 'http') {
res.redirect(301, 'https://' + req.headers.host + req.url);
}
return next();
});
}
app.use(require('prerender-node').set('prerenderToken', 'mytoken'));
app.use(express.static(__dirname + '/app/'));
app.get('*', function(req, res){
res.sendFile(__dirname + '/app/index.html');
});
app.listen(port);
console.log("App started on port "+port);
В приложении angularjs установите конфигурацию:
config(['$locationProvider', '$routeProvider', function ($locationProvider, $routeProvider) {
$locationProvider.html5Mode(true);
}])
В index.html:
<meta name="fragment" content="!">
Как сказано в документации: https://prerender.io/documentation/test-it
Я делаю:
http://mydomainm/user/1?_escaped_fragment_=
Но моя страница не кэширована.