Questa traduzione fornita da StrongLoop / IBM.

È possibile che questo documento non sia aggiornato poiché la documentazione è in inglese. Per gli ultimi aggiornamenti, fare riferimento alla documentazione in inglese.

Utilizzo di motori di template con Express

Prima che Express possa eseguire il rendering di file template, è necessario specificare le seguenti impostazioni dell’applicazione:

Quindi, installare il pacchetto npm del motore di template corrispondente:


$ npm install pug --save

I motori di template compatibili con Express, ad esempio Pug esportano una funzione denominata __express(filePath, options, callback), che viene richiamata dalla funzione res.render(), per il rendering del codice di template.

Alcuni motori di template non seguono questa convenzione. La libreria Consolidate.js segue questa convenzione, associando tutti i motori di template Node.js popolari e, perciò, funziona ininterrottamente in Express.

Una volta specificata l’impostazione view engine, non è necessario specificare il motore o caricare il modulo del motore di template nella propria app; Express carica il modulo internamente, come mostrato di seguito (per l’esempio precedente).


app.set('view engine', 'pug');

Creare un file di template Pug denominato index.pug nella directory views, con il seguente contenuto:


html
  head
    title!= title
  body
    h1!= message

Quindi, creare una route per il rendering del file index.pug. Se la proprietà view engine non è impostata, è necessario specificare l’estensione del file view. Altrimenti, è possibile ometterla.


app.get('/', function (req, res) {
  res.render('index', { title: 'Hey', message: 'Hello there!'});
});

Quando si fa una richiesta alla home page, verrà eseguito il rendering del file index.pug come HTML.

Per ulteriori informazioni su come funzionano i motori di template in Express, consultare la sezione: “Sviluppo dei motori di template per Express”.