Я обслуживаю угловые страницы из экспресс-доставки. Я не могу получить PreRender обслуживать до формирования страниц для продуктов:Prerender не обслуживает товары
http://www.minilolo.com/?_escaped_fragment_=/products/Lolo-Pink
Но другие страницы, как этот исправны:
http://www.minilolo.com/?_escaped_fragment_=/products
Я думаю, что, возможно, придется добавить некоторые экспресс-маршрутов , но хотелось бы знать, нахожусь ли я на правильном пути. Благодаря!
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var app = express();
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.set('view engine', 'ejs');
app.use(require('prerender-node').set('prerenderToken', 'xyz123'));
/**
* Development Settings
*/
if (app.get('env') === 'development') {
// This will change in production since we'll be using the dist folder
app.use(express.static(path.join(__dirname, '../client')));
// This covers serving up the index page
app.use(express.static(path.join(__dirname, '../client/.tmp')));
app.use(express.static(path.join(__dirname, '../client/app')));
// Error Handling
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
/**
* Production Settings
*/
if (app.get('env') === 'production') {
// changes it to use the optimized version for production
app.use(express.static(path.join(__dirname, 'dist')));
// added to serve up products pages
app.use(function(req, res) {
// Use res.sendfile, as it streams instead of reading the file into memory.
res.sendfile(__dirname + '/dist/index.html');
});
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
}
module.exports = app;
EDIT: Я разыскал этот вопрос пререндер преобразования в '_escaped_fragment_ =?' '#!'. Угловой тогда не знает, какой маршрут использовать, если у меня нет $ locationProvider.hashPrefix ('!') На месте (которое я не хочу использовать). Я не хочу префикс # #, если ему может помочь.
2015-09-07T12:17:17.566Z got 200 in 12713ms for http://localhost:3000/#!/products
2015-09-07T12:17:18.773Z Timed out. Sending request with HTML on the page
2015-09-07T12:17:18.785Z got 200 in 12732ms for http://localhost:3000/#!/products
2015-09-07T12:19:04.589Z getting http://localhost:3000/#!/products
Ссылка, которую вы указали, выглядит так, как будто она отлично работает для меня. В чем проблема? –
Его обслуживание вверх по содержимому от [http://www.minilolo.com/](http://www.minilolo.com/) вместо фактической страницы продукта [http://www.minilolo.com/products/ Лоло-розовый] (http://www.minilolo.com/products/Lolo-Pink) – user1074891