Nó template
O nó template
é usado para gerar dados com base em um modelo especificado. Ele permite criar strings, HTML, JSON e outros formatos, aplicando a substituição dinâmica de valores da mensagem msg
ou de outras fontes.
Configurações do nó template
1. Nome
Campo para especificar o nome do nó.
O nome é exibido na área de trabalho e ajuda a identificar facilmente o nó.
Se deixado em branco, o nó será chamado de template
.
Exemplo:
- Nome do nó:
hello world
2. Template
Campo principal onde o texto do modelo é definido.
Ele suporta a substituição de dados através de chaves ({{...}}
) e as funcionalidades do template Mustache.
Exemplo de modelo:
Hello {{payload}} !
3. Sintaxe
Define a sintaxe do modelo:
- Mustache: Modelo Mustache.
- Texto Simples: String de texto.
4. Saída Como
Define o formato dos dados de saída do nó:
- Texto Simples: Cria uma string de texto.
- JSON: Cria JSON.
- YAML: Cria YAML.
Características da sintaxe Mustache
-
Substituição de valores:
Usa{{property}}
, ondeproperty
é uma propriedade do objetomsg
.Exemplo:
- Modelo:
Hello, {{name}}!
- Mensagem:
{ "name": "Alice" }
- Resultado:
Hello, Alice!
- Modelo:
-
Exibição de condições:
A lógica condicional é suportada através da existência ou ausência de um valor.Exemplo:
{{#isOnline}}
<p>Status: Online</p>
{{/isOnline}}
{{^isOnline}}
<p>Status: Offline</p>
{{/isOnline}} -
Laços:
É possível 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> -
Escapando HTML:
Mustache escapa por padrão caracteres especiais HTML.
Para evitar o escape, use{{{...}}}
.Exemplo:
{{{htmlContent}}}
Dados de entrada
O nó aceita um objeto msg
. Os dados da mensagem são usados no modelo para a substituição de valores.
Exemplo de mensagem:
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
Dados de saída
O nó envia um objeto msg
, complementado com o modelo processado. O resultado é gravado em msg.payload
.
Exemplos de uso
Exemplo 1: Criação de uma página HTML
Modelo:
<!DOCTYPE html>
<html>
<head>
<title>Relatório de Temperatura</title>
</head>
<body>
<h1>Relatório de Temperatura para {{name}}</h1>
<p>Temperatura atual: {{payload.temperature}}°C</p>
</body>
</html>
Mensagem:
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
Resultado:
Página HTML com dados dinâmicos.
Exemplo 2: Geração de 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
}
}