Mesin templat simpul, seperti EJS, yang tidak merusak templat HTML?

Ingin tahu apakah ada mesin templating seperti EJS untuk NodeJS yang tidak merusak HTML template asli melalui penggunaan tanda kurung.

Di EJS, misalnya, seseorang mungkin menggunakan yang berikut ini untuk memasukkan data tertentu ke dalam template HTML:

<script>
    window.$data = <%- JSON.stringify(data, null, 4) %>;
</script>

Perhatikan bahwa tanda kurung <%- %> merusak file HTML sumber, menjadikannya tidak berguna untuk pengujian cepat dalam situasi ketika Anda ingin menghentikan sementara penggunaan parser EJS.

Mengabaikan perselisihan kegunaan sejenak, apakah ada perpustakaan injeksi data yang bagus untuk Node yang tidak merusak template? Atau, berani saya katakan, untuk injeksi sederhana objek yang dirangkai ke dalam elemen <script> tertentu, apakah ekspresi reguler tidak mungkin ditanyakan?


person shennan    schedule 08.07.2014    source sumber
comment
apakah ekspresi reguler tidak mungkin dilakukan? Ya, itu akan terjadi.   -  person Cerbrus    schedule 08.07.2014
comment
Ya, ekspresi reguler tidak mungkin dilakukan.   -  person RevanProdigalKnight    schedule 08.07.2014
comment
Sudahkah Anda mencoba menggunakan skrip eksternal?   -  person RevanProdigalKnight    schedule 08.07.2014
comment
@RevanProdigalKnight sayangnya kasus penggunaan saya mengharuskan data dimasukkan langsung ke dalam HTML.   -  person shennan    schedule 08.07.2014
comment
@Cerbrus Anda dengan mudah mengabaikan bagian awal untuk injeksi sederhana objek yang dirangkai ke dalam elemen ‹script› tertentu. HTML bukanlah bahasa biasa, tapi itu tidak berarti bahwa sebagai satu-satunya penulis dokumen semacam itu, saya tidak bisa menerapkan beberapa prinsip reguler pada placeholder data yang diinginkan. Tetapi jika saya takut menggunakan RegEx dalam hal ini, apakah Anda memiliki solusi alternatif untuk masalah yang ada?   -  person shennan    schedule 08.07.2014
comment
jika ‹% %› mengganggu Anda, afaik Anda dapat mengubahnya menjadi [% %]: code.google.com/p/embeddedjavascript/wiki/Templates#Example Alternatifnya, Anda dapat melihat (misalnya) swig (paularmstrong.github.io/swig).   -  person masch    schedule 08.07.2014
comment
@masch ini masih merusak file template asli   -  person shennan    schedule 15.07.2014


Jawaban (1)


Seperti yang Anda ketahui, EJS akan memecah HTML dengan '‹% >' nya, dan sintaksisnya sangat mirip dengan ASP.

Jika Anda menginginkan template baru yang tidak merusak HTML, dan memiliki alur kerja pengkodean yang bagus, Anda dapat mencoba ini:
Github: https://github.com/eshengsky/saker

Ini proyek open source pribadi saya bernama Saker, ini memungkinkan sintaksis yang sangat ringkas dan ekspresif yang bersih, cepat dan menyenangkan untuk diketik.

Berikut pratinjaunya:

<span>@name</span>
<a href="/id/detail/@id">@title</a>
person Sky    schedule 26.11.2016