2013-05-17 1 views
1

Предварительная обработка статических ресурсов с помощью промежуточного программного обеспечения (с использованием экспресс) - хорошая идея для производственных сред? По моему мнению, стеки промежуточного программного обеспечения запускаются последовательно для каждого запроса. Разве это не означало бы тогда, что препроцессорная средняя будет восстанавливать статический ресурс (т. Е. Some_styles.less -> some_styles.css) после каждого запроса? Если это так, было бы лучше просто предварительно обработать систему сборки, такую ​​как grunt.js, заранее и обслуживать эти файлы? Я хотел бы, чтобы окончательный рендеринг css и js был объединен в один файл и уменьшен.Предварительная обработка через прямое промежуточное программное обеспечение или через систему сборки

Кроме того, стоит ли предварительно отображать html из шаблонов (например, нефрита) на страницах с только статическим контентом? Или это больше проблем, чем того стоит?

ответ

3

Самый простой способ обработки CSS и JS предварительной обработки и минимизации - это какая-то система сборки, будь то хрюканье, торт и т. Д. Это также может принести некоторые преимущества в производительности; по крайней мере, это уменьшает рабочую нагрузку для вашего сервера.

Для моих проектов у меня есть задачи в моем Cakefile для обработки как CSS, так и JS. Они вызываются запуском задачи сборки и просто выводятся в каталог статических файлов, который настроен через app.use("/res", express.static("RESDIR")).

Что касается предварительного рендеринга HTML, он будет предлагать преимущество в производительности. Если это не очень сложно, я бы пошел вперед и предварительно сделал все, что вы легко можете. Гораздо проще сделать это раньше, чем загнать его в путь (если вы ожидаете какого-то роста, это может иметь значение в будущем).

+0

Большое спасибо за помощь. Чтобы быть ясным, промежуточное ПО будет восстанавливаться каждый раз? Или только когда файл был изменен? Я знаю, что это налоги на сервер, мне просто интересно, сколько. –

+1

Нет никакой причины, по которой промежуточное ПО должно будет генерировать для каждого запроса; это просто означает, что вы смотрите соответствующие файлы и либо сохраняете результат в памяти, либо записываете его на диск. Если вам не требуется массовое масштабирование, промежуточное ПО будет работать; все время работало лучше с тем, как я развернулся (это сократило время запуска приложения на машине с низкой памятью/процессором). –