2017-08-18 4 views
0

Je voudrais effectuer la res.render, mais au lieu de passer le fichier de modèle en tant que paramètre comme ceci:Express & res.render passer le modèle en tant que chaîne

res.render('index.hbs', { a: 'B' }); 

Je voudrais pouvoir passer le modèle comme une chaîne comme ça:

let template = '{{ a }}' 
res.render(template, { a: 'B' }); 

le code ci-dessus est évidemment ne fonctionne pas depuis res.render accepte le chemin du fichier uniquement/nom. Des idées sur la façon d'y parvenir?

Répondre

1

Vous pouvez rendre votre modèle premier

var handlebars = require('handlebars'); 

// set up your handlebars template 
var source = '{{ a }}'; 

// compile the template 
var template = handlebars.compile(source); 

// call template as a function, passing in your data as the context 
var outputString = template({ a: 'B' }); 

puis envoyer la sortie au client

res.send(outputString);