Ana içeriğe geç

Node template

template düğümü, belirli bir şablona dayalı veri oluşturmak için kullanılır. msg mesajından veya diğer kaynaklardan değerlerin dinamik olarak yerleştirilmesiyle dizeler, HTML, JSON ve diğer formatların oluşturulmasına olanak tanır.


template düğümünün Ayarları

IMG2

1. İsim

Düğümün adını belirtmek için bir alan.
İsim, çalışma alanında görüntülenir ve düğümü kolayca tanımlamaya yardımcı olur.
Boş bırakılırsa, düğüm template olarak adlandırılacaktır.

Örnek:

  • Düğüm adı: merhaba dünya

2. Şablon

Şablon metninin belirtildiği ana alan.
Süslü parantezler ({{...}}) aracılığıyla veri yerleştirmeyi ve Mustache şablonlama yeteneklerini destekler.

Örnek şablon:

Merhaba {{payload}} !

3. Sözdizimi

Şablonun sözdizimini tanımlar:

  • Mustache: Mustache şablonu.
  • Düz Metin: Düz metin dizesi.

4. Çıktı Olarak

Düğümün çıktı verisinin formatını tanımlar:

  • Düz Metin: Bir metin dizesi oluşturur.
  • JSON: JSON oluşturur.
  • YAML: YAML oluşturur.

Mustache Sözdiziminin Özellikleri

  1. Değer Yerleştirme:
    {{property}} kullanır, burada property, msg nesnesinin bir özelliğidir.

    Örnek:

    • Şablon: Merhaba, {{name}}!
    • Mesaj: { "name": "Alice" }
    • Sonuç: Merhaba, Alice!
  2. Koşullu Gösterim:
    Bir değerin varlığı veya yokluğu aracılığıyla koşullu mantık desteklenir.

    Örnek:

    {{#isOnline}}
    <p>Durum: Çevrimiçi</p>
    {{/isOnline}}
    {{^isOnline}}
    <p>Durum: Çevrimdışı</p>
    {{/isOnline}}
  3. Döngüler:
    Diziler üzerinde yineleme yapabilirsiniz.

    Örnek:

    <ul>
    {{#items}}
    <li>{{.}}</li>
    {{/items}}
    </ul>

    Mesaj:

    { "items": ["Öğe 1", "Öğe 2", "Öğe 3"] }

    Sonuç:

    <ul>
    <li>Öğe 1</li>
    <li>Öğe 2</li>
    <li>Öğe 3</li>
    </ul>
  4. HTML Kaçışı:
    Mustache, özel HTML karakterlerini varsayılan olarak kaçar.
    Kaçıştan kaçınmak için {{{...}}} kullanın.

    Örnek:

    {{{htmlContent}}}

Girdi Verisi

Düğüm, bir msg nesnesi kabul eder. Mesajdan gelen veriler, değer yerleştirme için şablonda kullanılır.

Örnek mesaj:

{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}

Çıktı Verisi

Düğüm, işlenmiş şablonla zenginleştirilmiş bir msg nesnesi gönderir. Sonuç, msg.payload'a yazılır.


Kullanım Örnekleri

Örnek 1: Bir HTML Sayfası Oluşturma

Şablon:

<!DOCTYPE html>
<html>
<head>
<title>Sıcaklık Raporu</title>
</head>
<body>
<h1>{{name}} için Sıcaklık Raporu</h1>
<p>Mevcut sıcaklık: {{payload.temperature}}°C</p>
</body>
</html>

Mesaj:

{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}

Sonuç:
Dinamik verilerle bir HTML sayfası.


Örnek 2: JSON Yanıtı Oluşturma

Şablon:

{
"status": "{{status}}",
"data": {
"temperature": {{payload.temperature}},
"humidity": {{payload.humidity}}
}
}

Mesaj:

{
"status": "ok",
"payload": {
"temperature": 22.5,
"humidity": 60
}
}

Sonuç:

{
"status": "ok",
"data": {
"temperature": 22.5,
"humidity": 60
}
}