Я довольно смущен архитектурой, по которой данные сохраняются в Docpad. Из блогов и форумов, которые я узнал в памяти (и/или вне директории), используется для сгенерированного содержимого. Но одна из точек продажи Docpad - «полностью основанная на файлах». Из его звука, размещение его на Heroku или любой эфемерной файловой системе не кажется логичным. Может ли кто-нибудь дать объяснения/разъяснения?Нужно объяснять постоянство Docpad
ответ
DocPad размещен как веб-архитектура следующего поколения. Это MINDMAP демонстрирует, почему мы называем это, что идеально:
DocPad Architecture Vision http://d.pr/i/jmmZ+
Технологический процесс быть примерно так:
- Импортеры приносят данные из любого источника, будь то локальная файловая система, или Tumblr, или база данных монго.
- Они получают впрыскивается в DocPad в памяти базы данных
- На время генерации, DocPad будет оказывать, что должно быть оказаны и выводить статическое содержимое в из каталога
- Динамические документы (документы, которые повторно наносить на каждый запрос) и динамические возможности (расширения сервера) теперь могут использовать базу данных в памяти и выполнять передовые классные вещи, такие как загрузка файлов, формы контактов, страницы поиска, любые
В этом смысле DocPad является веб-архитектуру следующего поколения, обладающую способностями генерации статического сайта, а также динамические возможности генерации сайтов. То, что отделяет DocPad от традиционных веб-архитектур, заключается в том, что традиционные веб-архитектуры рассматривают контент и шаблоны отдельных существ, где DocPad считает их одинаковыми и просто разделенными их расширением. Традиционные веб-архитектуры также являются динамическими по умолчанию, причем статическое создание сайтов выполняется с помощью кеширования, а не наоборот - статически по умолчанию.
Из-за этой нагрузки все в ситуации с памятью в памяти, мы страдаем от растущих болей с производительностью во время генерации и пост-поколения. Discussion here. Однако нет ничего, что не может быть исправлено с достаточным количеством времени и ресурсов. Независимо от этого, DocPad будет по-прежнему быстрее, чем ваша традиционная веб-архитектура из-за статической природы (более быстрые запросы), а также асинхронного характера (более быстрые поколения).
С точки зрения того, как вы бы обрабатывать загрузку файлов:
Если вы делаете статический сайт с DocPad, вы бы сервер API бэкэнд где-то еще, что вы могли бы сделать загрузку слишком и загрузить данных в DocPad в качестве стиля одностраничного приложения.
Если вы делаете динамический веб-сайт с DocPad, вы будете размещать DocPad на сервере, таком как Heroku, и расширять сервер для обработки загрузки файла в пункт назначения, такой как Amazon S3, Dropbox или в MongoDB или тому подобное. Затем вы можете открыть файл через templateData как ссылку или вставить файл в базу данных DocPad в памяти в виде файла. Какой из них вы выбрали, хотите ли вы просто ссылаться на загрузку или рассматривать ее как гражданина первого класса в юниверсе DocPad (он получает собственный URL и страницу).
Для динамических сайтов, я бы сказал, что я действительно использую статический сайт + подход к использованию одной страницы.Вы получаете преимущества, такие как отзывчивый дизайн, автономную поддержку, очень быстрый UX, который, не делая этого, вы немного сокращаете его с помощью динамического подхода к сайту, независимо от того, какую веб-архитектуру вы его построите.
Ну, я не могу довершение отличный объяснений Бенджамина, но если вы хотите TLDR объяснений:
DocPad используется (самый большой потребительной случае) порождают СТАТИЧЕСКИЕ веб-сайтов, а-ля страницы GitHub или старый сайтов 1990-х годов. Вы можете писать свои страницы в любом месте (Jade, eco, coffeescript и т. Д.), И он будет компилировать страницы и выводить файлы HTML. Подумайте об этом как о компиляции «один раз-сервер-навсегда».
С другой стороны, если вы хотите, чтобы на вашем сайте было создано Dynamic, вы хотите использовать Nodejs для вытягивания динамических данных с других сайтов или их генерации на лету.
Что касается вашей эфемерной файловой системы Heroku, (я точно не знаю, как это работает), вы можете использовать S3 Amazon для хранения. Отъезд this
- 1. Нужно объяснять
- 2. Нужно объяснять переменную Word2
- 3. Нужно объяснять, пожалуйста
- 4. Нужно объяснять кому-то .SelectedIndex
- 5. Нужно объяснять Javascript TicTacToe-Game
- 6. Нужно объяснять с OOAD «иерархия»
- 7. Нужно подробно объяснять fork и exec
- 8. Нужно ли лучше объяснять проблему математического программирования?
- 9. Понимать и объяснять рекомендации
- 10. Нужно ли мне объяснять, выгрузите сборку, загруженную динамически?
- 11. нужно объяснять код: Повторяя Nth элемент в Прологе
- 12. Нужно объяснять, как работают эти конкретные классы php
- 13. Нужно объяснять синтаксис и использовать переменные возврата поиска/просмотра
- 14. Rrd4j постоянство
- 15. объяснять команду в mysql
- 16. Объяснять выражения регулярных выражений
- 17. Объяснять выход следующей программы
- 18. getOutputSize постоянство?
- 19. Постоянство Ошибка
- 20. DocPad and MongoDB
- 21. В mysql «объяснять ...» всегда безопасно?
- 22. heroku объяснять окружающая среда/production.rb
- 23. Ошибка при развертывании docpad сайта DocPad до Heroku
- 24. Постоянство Ключевая ошибка: \ п
- 25. Docpad Scss не работает
- 26. Как создать плагин DocPad?
- 27. как ускорить рендеринг docpad?
- 28. Docpad crash path.resolve
- 29. Docpad Server Side Scripts
- 30. Минимизация html с Docpad
Причина, по которой вы размещаете ее на сервере, таком как Heroku или какой-либо другой сервер с поддержкой Node.js, если у вас есть динамические данные на вашем сайте. DocPad может быть полностью статичным, с другой стороны, он может быть полностью динамичным. Или это может быть и то, и другое. Но если что-либо на вашем веб-сайте динамично или вам нужен ваш веб-сайт для регенерации время от времени, вам нужен сервер с поддержкой Node.js. Отвечает ли это на ваш вопрос? Если да, скажите так, я могу ответить на него. :) – greduan
Спасибо за ответ. Я забыл упомянуть о загрузке файла. Как Docpad справляется с этим в эфемерной файловой системе Heroku? Эфемерная файловая система ничего не пишет. Извините, я все еще немного смущен «полностью основанным на файлах» с сайта Docpad. – 1001b
Возможно, вам захочется понять, что такое статический веб-сайт. Вот что такое DocPad, статический генератор *. Он создает статический веб-сайт, который можно развернуть в любом месте. В основном контент не меняется, он всегда подаётся одинаково, это делает его более удобным способом обслуживания веб-сайтов, поскольку логики на стороне сервера не происходит. Идея «полностью основанная на файлах» означает, что на сервере нет базы данных. – greduan