Pular para o conteúdo principal

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​

Janela "Node Information" do nó template: modelo "Hello payload !", "Syntax" em "Mustache", "Output As" em "Plain Text"

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​

  1. Substituição de valores:
    Use {{property}}, em que property é uma propriedade do objeto msg.

    Exemplo:

    • Modelo: Hello, {{name}}!
    • Mensagem: { "name": "Alice" }
    • Resultado: Hello, Alice!
  2. 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}}
  3. 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>
  4. 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
}
}