Я новичок в Express, и у меня возникла проблема. У меня node_env установлено на production, а app.get ('view cache') возвращает true. Однако, похоже, он не кэширует мои представления, основанные на нефрите. Я могу видеть get с 304, но мой рендеринг вида по-прежнему вызывается каждый раз.

Я неправильно понимаю, для чего нужен этот параметр?

Изменить: я думаю, этот параметр на самом деле предназначен только для того, чтобы шаблоны представлений работали лучше в производстве. Могу ли я предположить, что экспресс не поддерживает кеширование динамически сгенерированного содержимого представления?

Я заметил добавление res.header ('Cache-Control', 'max-age = 60, must-revalidate');

Есть ли более чистый способ сделать это? Благодарность

1
MobileGuy 24 Мар 2013 в 21:07

1 ответ

Лучший ответ

Если для параметра «кеш просмотра» установлено значение «Истина», он кэширует скомпилированный javascript-код для шаблонов нефрита.

Однако он не кэширует нефрит в полностью статический документ.

Если вы хотите это сделать, вы можете визуализировать нефрит один раз в своем приложении и сохранить результат в виде файла или в памяти. Затем вы просто подаете этот нефрит своему клиенту.

2
mjadobson 4 Апр 2013 в 21:16