নোড.জেএস টেম্প্লেটিংয়ের জন্য জ্যাড এবং ইজেএস উভয়ের পক্ষে কি কি? [বন্ধ]


118

জেড বনাম ইজেএস, প্রতিটিের পক্ষে কী কী ভাল এবং দু'টি কী উদ্দেশ্যে তৈরি করা হয়েছে?

সেখানে আছেন অন্য কোন দ্রুতগামী সামঞ্জস্যপূর্ণ টেমপ্লেট ইঞ্জিন যে ভাল এবং কেন?

উত্তর:


178

আমি জ্যাড আগে ব্যবহার করেছি। জেড সম্পর্কে দুর্দান্ত জিনিসটি হ'ল আপনার একটি সংক্ষিপ্ত বাক্য গঠন যা এর অর্থ আপনি দ্রুত টাইপ করতে পারেন। blockজেড সুন্দর শক্তিশালী আমাকে অনেক সাহায্য করতে পারে যখন জটিল HTML কোড সঙ্গে তার আচরণ নয়।

অন্যদিকে, জ্যাডে কিছু সাধারণ স্টাফ করা কঠিন, শর্তের ভিত্তিতে ডিআইভিতে ক্লাস যুক্ত করার মতো বিষয়। আমাকে এরকম কিছু রাখা দরকার

- if (isAdmin)
  div.admin.user
- else
  div.user

জেড ট্যাগ এবং ভেরিয়েবলগুলির মধ্যেও পার্থক্য রাখে না যা কোডটিকে খুব বিভ্রান্ত করে তোলে (কমপক্ষে আমার জন্য)

a(href='/user/' + user.id)= user.name

জেড ডিজাইনার-বান্ধবও নয়। আমার ডিজাইনার বন্ধুরা প্রায়শই আমাকে এইচটিএমএল এবং সিএসএস দেয় (তারা সম্প্রতি খুব কম করে চলেছে তবে এখনও এইচটিএমএল ব্যবহার করতে চায়), এবং সেই কারণে যদি আমি জ্যাড ব্যবহার করি তবে আমার এইচটিএমএলকে জ্যাডে রূপান্তর করতে হবে। জেডেও, আমাদের ইনডেন্টেশনগুলি ব্যবহার করা দরকার, সুতরাং আপনার HTML কাঠামো জটিল হয়ে উঠলে আপনার কোডটি ভয়ঙ্কর দেখাবে (বিশেষত সারণী)। কখনও কখনও, আমি জানি না আমি কী স্তরে আছি

table
  thead
    tr
      td
        a
          img
    tr
      td
  tbody
    tr
      td

সম্প্রতি, আমি ইজেএস এ স্যুইচ করেছি এবং আমি এ পর্যন্ত খুশি। এটি খাঁটি এইচটিএমএল এর খুব কাছাকাছি এবং আমি ব্যবহার করছি এমন সামনের টেম্পলেট ইঞ্জিনের মতো একই সিনট্যাক্সটি ব্যবহার করুন (অ্যান্ডস্কোর টেম্পলেট)। আমার অবশ্যই বলতে হবে যে EJS দিয়ে সবকিছুই সহজ। আমার ডিজাইনার বন্ধুর কাছ থেকে এইচটিএমএল টেমপ্লেটগুলি গ্রহণ করার সময় আমাকে সমস্ত রূপান্তর করতে হবে না। আমাকে যা করতে হবে তা হ'ল এক্সপ্রেসজেএস থেকে পাস করা পরিবর্তনশীলগুলির সাথে গতিশীল অংশগুলি প্রতিস্থাপন করা। জেড ব্যবহার করার সময় আমাকে যে পাগল করে তোলে সেই জিনিসগুলি ইজেএস-এ সমাধান করা হয়

<div class="<%= isAdmin? 'admin': '' %> user"></div>

এবং আমি জানতে পারি ইজেএস দিয়ে কী কী

<a href="/user/<%= user.id %>"><%= user.name %></a>

আপনি যদি জেডের সংক্ষিপ্ত বাক্যবিন্যাসটি মিস করেন (আমার মতো) আপনি জেন-কোডিং এবং ইজেএস সংযুক্ত করতে পারেন যা আপনাকে সাধারণভাবে অগ্রগতি গতিতে সহায়তা করতে পারে। পারফরম্যান্স সম্পর্কে, আমি কোনও পার্থক্য দেখছি না

তবে ইজেএস জেডের মতো শক্তিশালী নয়, এটির ডিফল্টরূপে ব্লক নেই (এই লোকটি ইজেএস https://github.com/RandomEtc/ejs-locals এর জন্য একটি ব্লক বৈশিষ্ট্য প্রয়োগ করেছে )

সুতরাং, আপনাকে আরামদায়ক করে তোলে তা বেছে নেওয়ার বিষয়টি আপনার উপর সম্পূর্ণ নির্ভর করে depend তবে আপনি যদি আমার মতো অগ্রভাগের জন্য অন্য কোনও টেম্পলেট ইঞ্জিন ব্যবহার করতে চলেছেন তবে আপনি উভয় পক্ষের জন্য একই জিনিস ব্যবহার করা ভাল better

আপডেট 16 ডিসেম্বর 2013: সাম্প্রতিককালে, আমি ইজেএস থেকে সুইগে স্যুইচ করেছি (যা পাইথন ওয়ার্ল্ডের জিনজা 2 এর মতো ধারণা)। এর মূল কারণটি এমনকি এর সাহায্যেও ইজেএসে ব্লক না থাকা ejs-locals। সুইগ টেম্পলেটগুলির জন্য প্লেইন এইচটিএমএল এবং প্রচুর দুর্দান্ত বৈশিষ্ট্য ব্যবহার করছে যা কোনও টেম্পলেট ইঞ্জিনের উদাহরণস্বরূপ ফিল্টার এবং ট্যাগ থাকতে হবে যা ইজেএসের নেই doesn't


1
আপনি কোন স্তরে আছেন তা না জানার বিষয়ে, এটি উল্লেখ করা উচিত জাদে একটি লাইনে একাধিক ট্যাগের জন্য নতুন সমর্থন রয়েছে। জেডের ডকুমেন্টেশন থেকে, 'স্পেস বাঁচাতে জ্যাড নেস্টড ট্যাগগুলির জন্য একটি ইনলাইন সিনট্যাক্স সরবরাহ করে' a: img '' <a> <img /> </a> 'এর সমতুল্য।
ভার্দি এরেল এরগান

1
আমি Jadeএক বা দুই বছর আগে চেষ্টা করেছি । সম্ভবত এখন এটি আরও ভাল হচ্ছে। তবে আমার প্রথম পয়েন্টটি পুনরায় রেজিস্ট্রেশন করা, এটি সহজেই পাওয়া সম্ভব হবে না
ট্যান এনগুইন

1
আপনি html2jade দেখেছেন ?
বেটগ্যামিট

4
আমি আপনাকে সেই সরঞ্জামটি দিয়েছি, কিন্তু তবুও, প্রতিবার ডিজাইনার আমাকে কিছু দেয়, আমাকে রূপান্তর করতে হবে (এটি বিরক্তিকর)
ট্যান এনগুইন

1
আমি কেবল (শর্তসাপেক্ষে আপনার প্রথম পয়েন্ট সম্পর্কিত) নোট করতে চেয়েছিলাম যে আপনি এই ব্যবহারের ক্ষেত্রে টার্নারি সিনট্যাক্স ব্যবহার করতে সক্ষম হতে পারেন। এই স্ট্যাক ওভারফ্লো প্রশ্নটি দেখুন: stackoverflow.com/questions/9488029/…
রব গিবনস

43

আমি বলব না যে একজন অন্যজনের চেয়ে ভাল। এগুলি পৃথক, এটি অবশ্যই নিশ্চিত, তবে "আরও ভাল" এটি যথেষ্ট আপেক্ষিক শব্দ।

আমি ইজেএসকে বেশি পছন্দ করি কারণ আমার মনে হয় এইচটিএমএল খুব খারাপ নয়, এছাড়াও এটি জেড শিখতে না পেরে অন্যের সাথে কাজ করার অনুমতি দেয়।

তবে জ্যাড বরং পরিষ্কার এবং আপনার দৃষ্টিতে কিছু ঝরঝরে কোড তৈরি করে।

আপনি যাকে বেশি স্বাচ্ছন্দ্য বোধ করেন তা চয়ন করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.