Jadual Kandungan
Pengenalan kepada enjin templat
Ringkasan dan perbandingan enjin templat Nodejs
Rumah hujung hadapan web Soal Jawab bahagian hadapan Apakah itu enjin templat nodejs

Apakah itu enjin templat nodejs

Nov 23, 2021 pm 02:20 PM
nodejs enjin templat

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perbezaan antara nodejs dan tomcat Perbezaan antara nodejs dan tomcat Apr 21, 2024 am 04:16 AM

Perbezaan utama antara Node.js dan Tomcat ialah: Runtime: Node.js adalah berdasarkan masa jalan JavaScript, manakala Tomcat ialah bekas Java Servlet. Model I/O: Node.js menggunakan model tidak menyekat tak segerak, manakala Tomcat menyekat segerak. Pengendalian konkurensi: Node.js mengendalikan konkurensi melalui gelung peristiwa, manakala Tomcat menggunakan kumpulan benang. Senario aplikasi: Node.js sesuai untuk aplikasi masa nyata, intensif data dan konkurensi tinggi, dan Tomcat sesuai untuk aplikasi web Java tradisional.

Perbezaan antara nodejs dan vuejs Perbezaan antara nodejs dan vuejs Apr 21, 2024 am 04:17 AM

Node.js ialah masa jalan JavaScript bahagian pelayan, manakala Vue.js ialah rangka kerja JavaScript sisi klien untuk mencipta antara muka pengguna interaktif. Node.js digunakan untuk pembangunan bahagian pelayan, seperti pembangunan API perkhidmatan belakang dan pemprosesan data, manakala Vue.js digunakan untuk pembangunan sisi klien, seperti aplikasi satu halaman dan antara muka pengguna yang responsif.

Adakah nodejs rangka kerja bahagian belakang? Adakah nodejs rangka kerja bahagian belakang? Apr 21, 2024 am 05:09 AM

Node.js boleh digunakan sebagai rangka kerja bahagian belakang kerana ia menawarkan ciri seperti prestasi tinggi, kebolehskalaan, sokongan merentas platform, ekosistem yang kaya dan kemudahan pembangunan.

Bagaimana untuk menyambungkan nodejs ke pangkalan data mysql Bagaimana untuk menyambungkan nodejs ke pangkalan data mysql Apr 21, 2024 am 06:13 AM

Untuk menyambung ke pangkalan data MySQL, anda perlu mengikuti langkah berikut: Pasang pemacu mysql2. Gunakan mysql2.createConnection() untuk mencipta objek sambungan yang mengandungi alamat hos, port, nama pengguna, kata laluan dan nama pangkalan data. Gunakan connection.query() untuk melaksanakan pertanyaan. Akhir sekali gunakan connection.end() untuk menamatkan sambungan.

Apakah pembolehubah global dalam nodejs Apakah pembolehubah global dalam nodejs Apr 21, 2024 am 04:54 AM

Pembolehubah global berikut wujud dalam Node.js: Objek global: modul Teras global: proses, konsol, memerlukan pembolehubah persekitaran Runtime: __dirname, __filename, __line, __column Constants: undefined, null, NaN, Infinity, -Infinity

Apakah perbezaan antara fail npm dan npm.cmd dalam direktori pemasangan nodejs? Apakah perbezaan antara fail npm dan npm.cmd dalam direktori pemasangan nodejs? Apr 21, 2024 am 05:18 AM

Terdapat dua fail berkaitan npm dalam direktori pemasangan Node.js: npm dan npm.cmd Perbezaannya adalah seperti berikut: sambungan berbeza: npm ialah fail boleh laku dan npm.cmd ialah pintasan tetingkap arahan. Pengguna Windows: npm.cmd boleh digunakan daripada command prompt, npm hanya boleh dijalankan dari baris arahan. Keserasian: npm.cmd adalah khusus untuk sistem Windows, npm tersedia merentas platform. Cadangan penggunaan: Pengguna Windows menggunakan npm.cmd, sistem pengendalian lain menggunakan npm.

Adakah terdapat perbezaan besar antara nodejs dan java? Adakah terdapat perbezaan besar antara nodejs dan java? Apr 21, 2024 am 06:12 AM

Perbezaan utama antara Node.js dan Java ialah reka bentuk dan ciri: Didorong peristiwa vs. didorong benang: Node.js dipacu peristiwa dan Java dipacu benang. Satu-benang vs. berbilang benang: Node.js menggunakan gelung acara satu-benang dan Java menggunakan seni bina berbilang benang. Persekitaran masa jalan: Node.js berjalan pada enjin JavaScript V8, manakala Java berjalan pada JVM. Sintaks: Node.js menggunakan sintaks JavaScript, manakala Java menggunakan sintaks Java. Tujuan: Node.js sesuai untuk tugas intensif I/O, manakala Java sesuai untuk aplikasi perusahaan besar.

Adakah nodejs bahasa pembangunan bahagian belakang? Adakah nodejs bahasa pembangunan bahagian belakang? Apr 21, 2024 am 05:09 AM

Ya, Node.js ialah bahasa pembangunan bahagian belakang. Ia digunakan untuk pembangunan bahagian belakang, termasuk mengendalikan logik perniagaan sebelah pelayan, mengurus sambungan pangkalan data dan menyediakan API.

See all articles