Nœud template
Le nœud template génère des données à partir d'un modèle que vous définissez. Il peut produire des chaînes, du HTML, du JSON et d'autres formats, en y insérant dynamiquement des valeurs issues du message msg ou d'autres sources.
Paramètres du nœud template

1. Name
Nom du nœud.
Il s'affiche dans l'espace de travail et permet d'identifier le nœud.
Si le champ est vide, le nœud s'appelle template.
Exemple :
- Nom du nœud :
hello world
2. Template
Champ principal, où vous saisissez le texte du modèle.
Il accepte l'insertion de données entre accolades ({{...}}) et les fonctionnalités du moteur de modèles Mustache.
Exemple de modèle :
Hello {{payload}} !
3. Syntax
Définit la syntaxe du modèle :
- Mustache : modèle Mustache.
- Plain Text : chaîne de texte.
4. Output As
Définit le format de sortie du nœud :
- Plain Text : crée une chaîne de texte.
- JSON : crée du JSON.
- YAML : crée du YAML.
Particularités de la syntaxe Mustache
-
Insertion de valeurs :
Utilisez{{property}}, oùpropertyest une propriété de l'objetmsg.Exemple :
- Modèle :
Hello, {{name}}! - Message :
{ "name": "Alice" } - Résultat :
Hello, Alice!
- Modèle :
-
Affichage conditionnel :
La logique conditionnelle repose sur la présence ou l'absence d'une valeur.Exemple :
{{#isOnline}}<p>Status: Online</p>{{/isOnline}}{{^isOnline}}<p>Status: Offline</p>{{/isOnline}} -
Boucles :
Vous pouvez parcourir des tableaux.Exemple :
<ul>{{#items}}<li>{{.}}</li>{{/items}}</ul>Message :
{ "items": ["Item 1", "Item 2", "Item 3"] }Résultat :
<ul><li>Item 1</li><li>Item 2</li><li>Item 3</li></ul> -
Échappement HTML :
Par défaut, Mustache échappe les caractères spéciaux HTML.
Pour éviter l'échappement, utilisez{{{...}}}.Exemple :
{{{htmlContent}}}
Données d'entrée
Le nœud reçoit un objet msg. Le modèle utilise les données du message pour insérer les valeurs.
Exemple de message :
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
Données de sortie
Le nœud envoie l'objet msg complété par le modèle traité. Le résultat est écrit dans msg.payload.
Exemples d'utilisation
Exemple 1 : créer une page HTML
Modèle :
<!DOCTYPE html>
<html>
<head>
<title>Temperature Report</title>
</head>
<body>
<h1>Temperature Report for {{name}}</h1>
<p>Current temperature: {{payload.temperature}}°C</p>
</body>
</html>
Message :
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
Résultat :
Une page HTML contenant des données dynamiques.
Exemple 2 : générer une réponse JSON
Modèle :
{
"status": "{{status}}",
"data": {
"temperature": {{payload.temperature}},
"humidity": {{payload.humidity}}
}
}
Message :
{
"status": "ok",
"payload": {
"temperature": 22.5,
"humidity": 60
}
}
Résultat :
{
"status": "ok",
"data": {
"temperature": 22.5,
"humidity": 60
}
}