คำถามติดแท็ก ejs

13
อะไรคือวิธีที่เหมาะสมในการตรวจสอบการมีอยู่ของตัวแปรในเทมเพลต EJS (โดยใช้ ExpressJS)
ในหน้า EJS github มีตัวอย่างง่ายๆเพียงตัวอย่างเดียว: https://github.com/visionmedia/ejs ตัวอย่าง <% if (user) { %> <h2><%= user.name %></h2> <% } %> ดูเหมือนว่ากำลังตรวจสอบการมีอยู่ของตัวแปรที่ชื่อผู้ใช้และหากมีอยู่ให้ทำบางอย่าง ดุใช่มั้ย? คำถามของฉันคือทำไม Node ถึงโยน ReferenceError ในโลกนี้ถ้าตัวแปรผู้ใช้ไม่มีอยู่ สิ่งนี้ทำให้ตัวอย่างข้างต้นไร้ประโยชน์ วิธีใดที่เหมาะสมในการตรวจสอบการมีอยู่ของตัวแปร ฉันคาดว่าจะใช้กลไก try / catch และคว้า ReferenceError นั้นหรือไม่ ReferenceError: user is not defined at IncomingMessage.anonymous (eval at <anonymous> (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:140:12)) at IncomingMessage.<anonymous> (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:142:15) at Object.render (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:177:13) …
122 node.js  express  ejs 

2
ข้อดีข้อเสียของทั้ง Jade และ EJS สำหรับเทมเพลต Node.js คืออะไร [ปิด]
ตามที่กล่าวไว้ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา Jade กับ EJS ข้อดีข้อเสียของแต่ละข้อคืออะไรและแต่ละจุดออกแบบมาเพื่ออะไร มีเอ็นจิ้นเทมเพลตที่เข้ากันได้กับ Express อื่น ๆที่ดีหรือไม่และเพราะเหตุใด
118 node.js  pug  ejs 

7
ฉันสามารถใช้คำสั่งเงื่อนไขกับเทมเพลต EJS (ใน JMVC) ได้หรือไม่
และถ้าใช่ไวยากรณ์คืออะไร? เป้าหมายของฉันคือนำหน้า 's' ไปยังคำว่า 'ความคิดเห็น' เมื่อมีมากกว่าหนึ่ง ในเทมเพลต jQuery.ejs ในแอป JMVC หยุดพักต่อไปนี้ ไม่พบเอกสารเงื่อนไขใด ๆ ... <%=commentsNumber%> comment<% if (commentsNumber > 1) { %> s <% } %>

3
แสดงตัวแปรเป็น HTML ใน EJS
ฉันใช้ไลบรารี Forms สำหรับ Node.js ( Forms ) ซึ่งจะสร้างแบบฟอร์มให้ฉันในแบ็กเอนด์ดังนี้: var signup_form = forms.create({ username: fields.string({required: true}) , password: fields.password({required: true}) , confirm: fields.password({ required: true , validators: [validators.matchField('password')] }) , email: fields.email() }); var signup_form_as_html = signup_form.toHTML(); บรรทัดสุดท้ายvar signup_var signup_form_as_html = signup_form.toHTML();สร้างบล็อก HTML ซึ่งมีลักษณะดังนี้: <div class="field required"><label for="id_username">Username</label><input type="text" name="username" id="id_username" …
99 node.js  express  ejs 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.