Спасибо за доходчивое разъяснение. Насчет странного поведения, мне оно казалось вполне ожидаемым, точнее то что proxyquire заменяет кешированную версию модуля и если бы нужно было вернуть нормальное поведение я бы удалил модуль из кеша в соответствии с документацией https://nodejs.org/api/globals.html#globals_require_cache. Ваш вариант rewiremock с enable/disable действительно выглядит намного лучше и понятнее.
В readme репозитория не помешал бы список публичных методов API с их кратким описанием, а в репозитории папка examples с простыми и самодостаточными примерами без лишнего кода. В остальном rewiremock выглядит приятно, возьму на вооружение.
Вопрос не в том зачем отключать, а в гибкости. Не нравится пример с куками, есть аналогичный по сути пример с cors. Допустим возникла необходимость на конкретный маршрут API, либо на определенный неймспейс отдавать заголовок «Access-Control-Allow-Origin: *», в случае с expressjs вставляем middleware перед любым нужным маршрутом. Если нужно что-то по сложнее чем *, то берем готовый middleware из npm, а в вашем случае, на каждую типовую задачу придется писать свой велосипед.
контроллеры и экшены, которые нам навязывает expressjs
нет в expressjs никаких контроллеров и экшенов, есть только middleware
Насчет гибкости роутера, как в этом фреймворке можно исключить парсинг кук и работу с сессией например для маршрута «GET /assets/<filePath:.*>»? В expressjs это тривиальная задача.
т.е. если вам нужно будет в середине проекта воткнуть логгер
В readme репозитория не помешал бы список публичных методов API с их кратким описанием, а в репозитории папка examples с простыми и самодостаточными примерами без лишнего кода. В остальном rewiremock выглядит приятно, возьму на вооружение.
нет в expressjs никаких контроллеров и экшенов, есть только middleware
Насчет гибкости роутера, как в этом фреймворке можно исключить парсинг кук и работу с сессией например для маршрута «GET /assets/<filePath:.*>»? В expressjs это тривиальная задача.
Не понятно в чем проблема: