Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Apakah itu enjin templat nodejs

Apakah itu enjin templat nodejs

青灯夜游
Lepaskan: 2021-11-23 14:20:48
asal
3616 orang telah melayarinya

Enjin templat nodejs merujuk kepada templat pemaparan Anda boleh menggunakan fail templat untuk menjana fail HTML secara dinamik Semasa penjanaan, anda boleh menyepadukan data daripada aplikasi ke dalam fail HTML mengikut peraturan tertentu. Enjin templat nod biasa termasuk: Misai, Dust.js, doT, Jade, EJS, swig, dsb.

Apakah itu enjin templat nodejs

Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer DELL G3.

Pengenalan kepada enjin templat

Dalam aplikasi web, jika anda hanya menggunakan kod sebelah pelayan untuk menulis kod html sebelah klien dan bahagian hadapan dan belakang- akhir tidak dipisahkan, ia akan menyebabkan banyak kerja, dan kod yang ditulis akan sukar dibaca dan diselenggara. Jika anda hanya menggunakan fail HTML statik pelanggan, ia akan menjadi lebih sukar untuk menyepadukan logik bahagian belakang ke dalam kod HTML pelanggan.

Untuk memudahkan penyelenggaraan, membolehkan logik bahagian belakang disepadukan dengan lebih baik ke dalam kod HTML bahagian hadapan, dan memudahkan penyelenggaraan, banyak pembangun pihak ketiga telah membangunkan pelbagai enjin templat Nodejs.

Jadi apakah itu enjin templat kita boleh memahaminya secara berasingan.

Templat: model (struktur). Membolehkan anda menetapkan data dan melaksanakan logik berbeza berdasarkan data berbeza

Enjin: pemproses (kompil, jalankan), dan akhirnya memberikan kod HTML

Jadi, mari kita fahami enjin templat bersama-sama: Gunakan fail templat untuk menjana fail HTML secara dinamik Semasa penjanaan, anda boleh menyepadukan data daripada aplikasi ke dalam fail HTML mengikut peraturan tertentu. Serupa dengan bahasa latar belakang jsp.

Ringkasnya, enjin templat ialah templat pemaparan.

Ringkasan dan perbandingan enjin templat Nodejs

Mustache

Tapak web rasmi: http://mustache.github.io/

Mustache ialah enjin templat yang sangat ringkas dan mudah digunakan Ia dikenali sebagai enjin templat tanpa logik dan boleh digunakan dalam HTML, fail konfigurasi, kod sumber dan senario lain.

Sebab mengapa ia dipanggil enjin templat tanpa logik adalah kerana ia tidak mempunyai pernyataan if, syarat lain, untuk gelung dan struktur lain. Hanya tag, gantikan tag dengan nilai, nilai boleh menjadi cincang atau objek, semudah itu.

Templat misai mempunyai dua definisi, Misai (1) dan Misai (5)

Mustache menyokong bahasa pengaturcaraan arus perdana, seperti Ruby, JavaScript, Python, Erlang, node.js, PHP, Perl , Perl6, Objektif-C, Java, Android, C, Go, Lua, dsb.

Mustache juga boleh disepadukan dengan baik dengan editor TextMate, Vim, Emacs, Coda, Atom, dll.

Manual misai (1): < http://mustache.github.io/mustache.5.html> /mustache.1.html>

Mustache (1) diinspirasikan oleh ctemplate dan versi pertama dikeluarkan pada penghujung tahun 2009. Versi pertama enjin templat telah dilaksanakan dalam Ruby dan menjalankan teks templat YAML. Prinsip utama yang diterima pakai ialah: pertama, menekankan "tiada logik", tidak ada pernyataan aliran kawalan yang jelas, semua kawalan didorong oleh data, kedua, menekankan "pemisahan logik dan pembentangan", adalah mustahil untuk membenamkan logik aplikasi ke dalam templat .

Hendal

Tapak web rasmi: < http://handlebarsjs.com/>

Handlebars.js ialah bahasa templat Misai yang dicipta oleh Sambungan Chris Wanstrath. Kedua-dua Handlebars.js dan Misai adalah bahasa templat bebas logik yang memisahkan pandangan dan kod.

Secara umumnya, sintaks templat Handlebars.js ialah superset templat Misai.

Untuk sintaks asasnya, sila rujuk halaman bantuan Misai: < http://mustache.github.com/mustache.5.html>

Bar hendal membenarkan templat disusun dan disertakan dalam kod JavaScript, menjadikan masa permulaan lebih singkat.

Sesetengah perkara mengapa Handlebars tidak serasi dengan Misai:

* Handlebars tidak melakukan carian rekursif secara lalai, melainkan bendera compat mesti ditetapkan untuk mendayakan ciri ini pada masa penyusunan. Pengguna harus sedar bahawa terdapat kos prestasi untuk mendayakan bendera ini.

* Ekspresi Lambdas gaya Misai pilihan tidak disokong.

* Pembatas ganti tidak disokong

Dust.js

Tapak web rasmi: <

Debu ialah enjin templat Javascript yang mewarisi gaya bahasa ctemplate dan direka bentuk untuk dijalankan secara tidak segerak pada pelayan dan penyemak imbas.

Berbanding dengan enjin templat lain, Debu tidak logik, cuma kurang logiknya.

*Anda tidak boleh menulis Javascript sewenang-wenangnya dalam templat Debu. Walau bagaimanapun, anda masih mempunyai operator logik asas seperti perbandingan, kurang daripada/lebih daripada, kehadiran/ketiadaan. Ini mencapai keseimbangan antara kebolehbacaan templat dan kawalan data.

* Debu menggalakkan logik bergerak ke model data. Fungsi boleh dibuat dalam model dan kemudian dipanggil daripada templat, memberikan anda kawalan sepenuhnya ke atas cara templat itu diberikan tanpa mengacaukan logik.

* Pemuatan templat tak segerak, pemaparan dan penstriman. Jadi tidak perlu pramuat templat.

* Templat boleh gubah, menyokong kemasukan separa dan blok templat dinamik, menyambung templat bersama-sama untuk mencapai pembinaan reka letak manual.

* HTML adalah selamat dan bebas format. Debu menghalang serangan skrip merentas tapak dengan melarikan data dengan selamat.

* Prestasi tinggi. Mencapai keseimbangan antara prestasi dan kefungsian. Walaupun ia tidak sepantas Misai, sifat asynchronousnya bermakna templat besar boleh dipaparkan dengan lebih pantas.

* Habuk berfungsi dalam JavaScript.

Underscore.js

Tapak web rasmi: < http://underscorejs.org/>

Underscore ialah perpustakaan JavaScript yang menyediakan Koleksi pembantu pengaturcaraan berfungsi yang berguna tanpa memanjangkan sebarang objek terbina dalam.

Skor bawah menyediakan lebih daripada 100 fungsi, peta sokongan, penapis, panggilan dan ciri lain, serta pengikatan fungsi, templat JavaScript, penciptaan indeks pantas, ujian kesetaraan dalam, dsb.

doT

Tapak web rasmi: < http://olado.github.io/doT/>

doT bukanlah templat yang paling mudah untuk menggunakan enjin, tetapi ia memenuhi keperluan berikut:

* Jika enjin templat perlu digunakan pada kedua-dua sisi klien dan pelayan

* Jika templat memerlukan logik yang besar dan anda mahu aplikasi untuk berjalan dengan cepat

* Jika anda memerlukan templat yang telah disusun sebelumnya

Jade

Tapak web rasmi: < />

Menggunakan enjin templat ini, anda boleh menulis kurang kod dan membangunkan dengan mudah. Walau bagaimanapun, ia lebih memakan masa untuk menggunakannya dalam persekitaran Node.js kerana fail mesti ditukar kepada HTML terlebih dahulu dan kemudian ditukar kepada Jade.

EJS

Tapak web rasmi: < http://ejs.co/>

EJS ialah bahasa templat lalai bagi CanJS menyediakan penggunaan pengikatan masa nyata dengan Observes. EJS sangat mudah digunakan, cuma tulis HTML yang anda inginkan dalam templat dan beberapa teg ajaib yang mewakili tingkah laku dinamik. JES tidak menyokong fungsi blok.

swig

Swig tidak mempunyai sintaks HTML abstrak, tetapi anda boleh menggunakan Swig untuk mengisi sintaks Angular.js dan menyokong fungsi blok.

Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs! !

Atas ialah kandungan terperinci Apakah itu enjin templat nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan