В общем, тут какая-то заковырка, и может быть, кто-то о ней знает и в состоянии пояснить.
Заковырка в том, что если написать просто функцию
function api(req, res) {
// ... и т.д.
}
положить её рядом и вызвать в теле обработчика, то всё работает правильно.
Файл *.tmp не пишется - только когда её, просто, выносишь в отдельный файл. Т.е. это ведь должно быть пофигу, просто таки, в силу "философии" платформы.
То ли тут какая-то лажа в самом модуле tmp? Вот хотелось бы знать - какая (на будущее).
Там внутри просто функции, которые экспортируются так
module.exports.file = file;
module.exports.dir = dir;
...
Я пробовал, нопремер, изменить на exports.file = file; - но не помогает.