Недавно перешел на node c php. Пишу небольшой REST сервер с использованием ExpressJS. Для простоты решил написать всего несколько роутеров (чтобы не прописывать для каждого метода). Вот пример:
app.get('/v:version/:resource.:method',function(request,response){
// подключаем метод
var method = require('./'+request.params.resource+'.'+request.params.method+'v'+request.params.version+'.js')
method.call(request,function(error,result){
// отдаем данные или ошибку
})
})
В этом случае обращение вида myserver.com/v1/users.get должно вызвать модуль users.getv1.js
Так я могу спокойно добавлять новые методы и мне лишь придется добавлять пару строчек в документации не дописывая новый роутер в код сервера.
Но кто-то из знакомых в разговоре упомянул, что так делать не стоит из-за каких-то особенностей require модули будут накапливаться в кеше и память начнет утекать. Каких именно особенностей он так пояснить и не смог, но сомнения у меня остались.
Вопрос - есть ли действительно какие-то "особенности" у require которые вышеописанный подход не позволят использовать? Или это все глупости? Заранее спасибо.