Saya mencoba membuat JavaScript untuk di-render di halaman saya menggunakan Jade (http://jade-lang.com/)
Proyek saya di NodeJS dengan Express, semuanya berjalan dengan benar sampai saya ingin menulis beberapa JavaScript inline di kepala. Bahkan dengan mengambil contoh-contoh dari dokumen Jade saya tidak dapat membuatnya bekerja apa yang saya lewatkan?
Templat jade
!!! 5
html(lang="en")
head
title "Test"
script(type='text/javascript')
if (10 == 10) {
alert("working")
}
body
Menghasilkan HTML yang dirender di browser
<!DOCTYPE html>
<html lang="en">
<head>
<title>"Test"</title>
<script type="text/javascript">
<if>(10 == 10) {<alert working></alert></if>}
</script>
</head>
<body>
</body>
</html>
Pasti ada yang terlewat di sini ide?
.
setelah(type='text/javascript')
!!! 5
sudah usang, Anda harus menggunakandoctype html
Jawaban:
cukup gunakan tag 'script' dengan titik setelahnya.
https://github.com/pugjs/pug/blob/master/examples/dynamicscript.pug
sumber
<script>
bukan<script type="text/javascript">
.type="text/javascript"
adalah nilai default untuktype
bidang pada<script>
tag. Anda tidak perlu mengaturnya..
ditambahkan. Makascript.
diikuti oleh blok JS yang terindentasi.The
:javascript
Filter telah dihapus di versi 7.0The docs mengatakan Anda harus menggunakan
script
tag sekarang, diikuti dengan.
char dan tidak ada ruang sebelumnya.Contoh:
akan dikompilasi ke
sumber
Gunakan tag skrip dengan jenis yang ditentukan, cukup sertakan sebelum titik:
Ini akan dikompilasi ke:
sumber
script.
akan baik-baik saja.Tidak menggunakan tag skrip saja.
Solusi dengan
|
:Atau dengan
.
:sumber
.
. Kalau tidak, Anda harus menulis|
di setiap baris.VERSI KETIGA DARI JAWABAN SAYA:
Berikut adalah beberapa contoh baris inline Jade Javascript. Saya tidak berpikir Anda bisa menulisnya tanpa menggunakan
-
. Ini adalah contoh pesan kilat yang saya gunakan secara parsial. Semoga ini membantu!Apakah kode yang Anda coba untuk mengkompilasi kode dalam pertanyaan Anda?
Jika demikian, Anda tidak perlu dua hal: pertama, Anda tidak perlu menyatakan bahwa itu Javascript / skrip, Anda dapat mulai mengkode setelah mengetik
-
; kedua, setelah Anda mengetik,-if
Anda tidak perlu mengetik{
atau}
salah satunya. Itulah yang membuat Jade cukup manis.-------------- JAWABAN ASLI DI BAWAH ---------------
Coba mulai
if
dengan-
:Ada juga banyak contoh Jade di:
https://github.com/visionmedia/jade/blob/master/examples/
sumber
Untuk konten multi-baris, biasanya giok menggunakan "|", namun:
Ini mengatakan, saya tidak dapat mereproduksi masalah yang Anda alami. Ketika saya menempelkan kode itu dalam templat batu giok, itu menghasilkan output yang tepat dan meminta saya dengan peringatan pada memuat halaman.
sumber
Gunakan
:javascript
filter. Ini akan menghasilkan tag skrip dan keluar dari konten skrip sebagai CDATA:sumber
script.
berfungsi dengan baik, dan legal!!! 5
sumber