DocPad медленно при загрузке и перезагрузке сервера docpad каждый раз

Я уже какое-то время борюсь с производительностью docpad в локальной разработке. Возникли проблемы с перезагрузкой в ​​реальном времени. Небольшое изменение в меньшем количестве файлов занимает даже 100 секунд для регенерации и перезагрузки сервера. Похоже, что даже если в одном файле было изменение, он все регенерирует. Я добавил их, как это предлагается на странице docpad:

watchOptions: 
  preferredMethods: ['watchFile','watch']
  catchupDelay: 0 
regenerateDelay: 0

также отключил плагин тегов для локального разработчика, так как он довольно неприятен с его постоянной регенерацией тегов.

Я использую docpad 6.63.8 со следующими плагинами: coffeescript, eco, gulp, highlightjs, less, livereload, lunr, Marked, paged, partials, tags, text

Я думал, что просто справлюсь с этим с помощью gulp watch, но очевидно, что watch недостаточно, сервер все равно нужно перезагрузить, и я не думаю, что можно заменить плагин livereload на gulp livereload, или я просто глуп, чтобы сделай это

Я часто использую текстовый плагин, а может он тормозит?

Я хотел решить эту проблему, используя gulp для просмотра и регенерации и перезапуска сервера вручную и docpad server, но я заметил, что сервер docpad восстанавливает все файлы, даже если они уже были регенерированы и находятся в каталоге out.

Любые идеи?


person Lukasz Gornicki    schedule 10.03.2015    source источник


Ответы (1)


Ага - я видел эту проблему с livereload. Я особенно это вижу с динамическими страницами. Честно говоря, я считаю, что лучшим решением на данный момент является просто удалить livereload - удалить его из файла package.json и удалить каталог livereload node_modules. На мой взгляд, livereload избавляет вас только от необходимости нажимать кнопку перезагрузки в браузере.

person Steve Mc    schedule 15.04.2015
comment
да, дело в том, что перезапуск сервера, чтобы увидеть небольшое изменение в less или js, немного расстраивает ... если у вас есть огромный проект, который запускается в течение нескольких минут - person Lukasz Gornicki; 16.04.2015
comment
Я запутался. Livereload не должен влиять на то, нужно ли перезапускать сервер или нет. Все, что он должен делать, - это заставлять ваш браузер перезагружать любые изменения. - person Steve Mc; 20.04.2015
comment
да, проблема с livereload - это одно, проблема с перезагрузкой сервера - это совсем другое, но оба вызывают разочарование. Я уже отказался от использования livereload, а для перезагрузки и регенерации сервера я использую github.com/foreverjs/ навсегда - и теперь я в значительной степени уверен (тестировал его несколько дней), что каждое изменение принимается и сервер перезагружается. Единственная проблема, которая остается, это то, что я думаю, что при перезагрузке docpad восстанавливает все с нуля, а не только измененные файлы. - person Lukasz Gornicki; 21.04.2015
comment
Мой немедленный ответ состоит в том, что я ожидаю, что сервер будет восстанавливать все при загрузке. Docpad не имеет базы данных, в которой записывается, когда файл был в последний раз сгенерирован. - person Steve Mc; 22.04.2015
comment
но он знает, какие файлы были изменены, и какие другие файлы зависят от него, поэтому он предполагает, что он может восстанавливать только измененные файлы - person Lukasz Gornicki; 23.04.2015
comment
Извините, docpad поддерживает базу данных изменений, но это база данных в памяти. Это не сохраняется на диске - хотя я готов исправить это. - person Steve Mc; 24.04.2015