Nó template
O nó template gera dados a partir de um modelo definido. Com ele, você cria strings, HTML, JSON e outros formatos, substituindo dinamicamente valores da mensagem msg ou de outras fontes.
Configurações do nó template

1. Name
Nome do nó.
Ele aparece no espaço de trabalho e ajuda a identificar o nó.
Se você deixar o campo vazio, o nó se chamará template.
Exemplo:
- Nome do nó:
hello world
2. Template
Campo principal, onde você escreve o texto do modelo.
Ele aceita a substituição de dados entre chaves ({{...}}) e os recursos do motor de templates Mustache.
Exemplo de modelo:
Hello {{payload}} !
3. Syntax
Define a sintaxe do modelo:
- Mustache: modelo Mustache.
- Plain Text: string de texto.
4. Output As
Define o formato dos dados de saída do nó:
- Plain Text: cria uma string de texto.
- JSON: cria JSON.
- YAML: cria YAML.
Recursos da sintaxe Mustache
-
Substituição de valores:
Use{{property}}, em quepropertyé uma propriedade do objetomsg.Exemplo:
- Modelo:
Hello, {{name}}! - Mensagem:
{ "name": "Alice" } - Resultado:
Hello, Alice!
- Modelo:
-
Exibição condicional:
A lógica condicional se baseia na existência ou ausência de um valor.Exemplo:
{{#isOnline}}<p>Status: Online</p>{{/isOnline}}{{^isOnline}}<p>Status: Offline</p>{{/isOnline}} -
Laços:
Você pode iterar sobre arrays.Exemplo:
<ul>{{#items}}<li>{{.}}</li>{{/items}}</ul>Mensagem:
{ "items": ["Item 1", "Item 2", "Item 3"] }Resultado:
<ul><li>Item 1</li><li>Item 2</li><li>Item 3</li></ul> -
Escape de HTML:
Por padrão, o Mustache escapa os caracteres especiais de HTML.
Para evitar o escape, use{{{...}}}.Exemplo:
{{{htmlContent}}}
Dados de entrada
O nó recebe um objeto msg e usa os dados dessa mensagem para substituir os valores no modelo.
Exemplo de mensagem:
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
Dados de saída
O nó envia o objeto msg com o modelo processado. O resultado é gravado em msg.payload.
Exemplos de uso
Exemplo 1: criar uma página HTML
Modelo:
<!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>
Mensagem:
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
Resultado:
Uma página HTML com dados dinâmicos.
Exemplo 2: gerar uma resposta JSON
Modelo:
{
"status": "{{status}}",
"data": {
"temperature": {{payload.temperature}},
"humidity": {{payload.humidity}}
}
}
Mensagem:
{
"status": "ok",
"payload": {
"temperature": 22.5,
"humidity": 60
}
}
Resultado:
{
"status": "ok",
"data": {
"temperature": 22.5,
"humidity": 60
}
}