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.
Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer DELL G3.
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.
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>
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 disokongDust.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!