Lewati ke konten utama

Node template

Node template digunakan untuk menghasilkan data berdasarkan template yang ditentukan. Ini memungkinkan pembuatan string, HTML, JSON, dan format lainnya dengan menerapkan substitusi dinamis dari nilai-nilai dari pesan msg atau sumber lainnya.


Pengaturan Node template

IMG2

1. Nama

Sebuah kolom untuk menentukan nama node.
Nama ditampilkan di ruang kerja dan membantu untuk dengan mudah mengidentifikasi node.
Jika dibiarkan kosong, node akan disebut template.

Contoh:

  • Nama node: hello world

2. Template

Kolom utama di mana teks template ditentukan.
Ini mendukung substitusi data melalui kurung kurawal ({{...}}) dan kemampuan templating dari Mustache.

Contoh template:

Hello {{payload}} !

3. Sintaks

Menentukan sintaks dari template:

  • Mustache: Template Mustache.
  • Teks Biasa: String teks biasa.

4. Output Sebagai

Menentukan format data keluaran node:

  • Teks Biasa: Membuat string teks.
  • JSON: Membuat JSON.
  • YAML: Membuat YAML.

Fitur Sintaks Mustache

  1. Substitusi Nilai:
    Menggunakan {{property}}, di mana property adalah properti dari objek msg.

    Contoh:

    • Template: Hello, {{name}}!
    • Pesan: { "name": "Alice" }
    • Hasil: Hello, Alice!
  2. Penyajian Bersyarat:
    Logika bersyarat didukung melalui keberadaan atau ketidakadaan nilai.

    Contoh:

    {{#isOnline}}
    <p>Status: Online</p>
    {{/isOnline}}
    {{^isOnline}}
    <p>Status: Offline</p>
    {{/isOnline}}
  3. Perulangan:
    Anda dapat melakukan iterasi pada array.

    Contoh:

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

    Pesan:

    { "items": ["Item 1", "Item 2", "Item 3"] }

    Hasil:

    <ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    </ul>
  4. Penyandian HTML:
    Mustache secara default menyandikan karakter HTML khusus.
    Untuk menghindari penyandian, gunakan {{{...}}}.

    Contoh:

    {{{htmlContent}}}

Data Input

Node menerima objek msg. Data dari pesan digunakan dalam template untuk substitusi nilai.

Contoh pesan:

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

Data Output

Node mengirimkan objek msg, yang ditambahkan dengan template yang diproses. Hasilnya ditulis ke msg.payload.


Contoh Penggunaan

Contoh 1: Membuat Halaman HTML

Template:

<!DOCTYPE html>
<html>
<head>
<title>Laporan Suhu</title>
</head>
<body>
<h1>Laporan Suhu untuk {{name}}</h1>
<p>Suhu saat ini: {{payload.temperature}}°C</p>
</body>
</html>

Pesan:

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

Hasil:
Sebuah halaman HTML dengan data dinamis.


Contoh 2: Menghasilkan Respon JSON

Template:

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

Pesan:

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

Hasil:

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