Esta é uma maneira simples de usar NodeJS e Express para renderizar um modelo EJS que força o download de um arquivo. Quaisquer objetos JSON (ou seja; foo, bar) são passados para o seu modelo EJS, para que o arquivo baixado possa conter dados dinâmicos do servidor …
app.get('/download', function(req, res){
res.attachment('filename.html');
res.render('download',{foo:foo, bar: bar));
})