Node.js и представления и шаблоны рендеринга, хранящиеся в базе данных

В настоящее время я пробую разные шаблонизаторы node.js, включая dust.js.

Возможно ли хранить весь макет и содержимое просмотра в базе данных, а не в файловой системе? Есть ли какой-нибудь шаблонный движок, который лучше подходит для этого случая?

В идеале я бы создал экран администрирования, где я мог бы редактировать все основные макеты и виды, не требуя копирования файлов.


person user3591122    schedule 07.06.2016    source источник


Ответы (1)


Определенно выполнимо, вы просто будете нести ответственность за компиляцию / гидратацию своего собственного шаблона. Предполагая, что вы используете Express, встроенный механизм просмотра ожидает, что шаблоны будут в файловой системе, поэтому, если вы не собираетесь их там хранить, у вас есть три варианта:

1) разветвить экспресс, чтобы удалить эту проверку 2) предварительно кэшировать все ваши представления в кеше представления при запуске приложения (чтобы оно извлекало их из кеша, а не смотрело в файловую систему) 3) игнорировать рендеринг представления, который предоставляет Express и просто скомпилируйте свои шаблоны самостоятельно.

Выполнение 3 кажется наиболее естественным выбором, но поймите, что есть причина, по которой Express кэширует скомпилированные шаблоны, поэтому вы можете подумать о создании собственного кэша шаблонов (и иметь дело с аннулированием кэша при обновлении материала).

На самом деле, 4-й метод, который может работать или не работать лучше (непроверенный), заключается в использовании рендеринга представлений Express по умолчанию, но при запуске приложения записывать все ваши файлы представлений на виртуальный диск, используя их temp модуль (здесь)

person Paul    schedule 07.06.2016