jQuery টেম্প্লেটিং ইঞ্জিনগুলি [বন্ধ]


204

আমি ক্লায়েন্ট পাশ ব্যবহার করার জন্য একটি টেম্পলেট ইঞ্জিনের সন্ধান করছি। আমি jsRepeater এবং jQuery টেম্পলেটগুলির মতো কয়েকটি চেষ্টা করছি। ফায়ারফক্সে যখন তারা ঠিক আছে বলে মনে হচ্ছে তারা HTML7 টেবিলগুলি রেন্ডারিংয়ের জন্য নেমে আসে তখন তারা সকলেই আই 7-তে ভেঙে যায়।

আমি মাইক্রোসফ্ট অজ্যাক্সেম্প্লেটস.জেএস ( http://www.codeplex.com/aspnet/ReLive/ProjectRelayss.aspx?ReLiveId=16766 ) থেকেও দেখেছি তবে দেখা যাচ্ছে যে একই সমস্যা রয়েছে।

অন্যান্য টেম্প্লেটিং ইঞ্জিন ব্যবহারের জন্য কোনও পরামর্শ?


1
আমি এই প্রশ্নটি দুটিবার উপভোগ করতে চেয়েছিলাম :)
মার্ক

1
আমি খুব সুন্দর (তবে প্রাক-বিটা) জেএসভিউ এবং জেএসরেন্ডারকে চেক করব, কোনও সম্ভাব্য আধিকারিক জিকিউরি / ইউআই টেম্প্লেটিং ইঞ্জিনের মতো মনে হচ্ছে (কমপক্ষে রোডম্যাপটি এটি বলে)
ইরান মেডান

1
জেএসরেন্ডারের এখন সর্বজনীন বিটা প্রার্থী রয়েছে: borismoore.com/2012/03/…
জন পাপা

আমি এখন ডওটি টেম্পলেট ব্যবহার করছি, ভাল পারফরম্যান্স, এবং গোঁফের মতো স্বরলিপি
ইরান মেডান

উত্তর:


109

JQuery সহ রিক স্ট্রহলের পোস্ট ক্লায়েন্ট টেম্প্লেটিং দেখুন । তিনি জেটিম্প্লেটগুলি সন্ধান করেন তবে তারপরে জন রেসিগের মাইক্রো-টেম্প্লেটিং সমাধানের জন্য আরও ভাল কেস তৈরি করে , এমনকি এটি কিছুটা উন্নতি করে। ভাল তুলনা, নমুনা প্রচুর।



@ Thr4wn, তিরস্কারের উত্সটি উল্লেখযোগ্যভাবে তখন লিঙ্কিত গ্রন্থাগারে লিঙ্কযুক্ত নিবন্ধগুলিতে আলোচনা করা হয়েছে। উভয় রেসিগ যদিও, নিশ্চিত।
ফ্র্যাঙ্ক শুইটারম্যান

@ ফ্র্যাঙ্ক "রেপ্রোমের উত্সটি উল্লেখযোগ্যভাবে রয়েছে তবে লিখিত পাঠাগারটি লিখিত নিবন্ধগুলিতে" উম হু? বল কি? আপনি এটিকে আদৌ কী বোঝাতে চাইছেন তা নিশ্চিত নয়।
মার্ক স্কুলথিস

2
@ মার্ক: তার অর্থ "তুলনায় উল্লেখযোগ্যভাবে আলাদা"।
ডোমেনিক

জটিল ফর্মগুলির কোনও উদাহরণ এটি দিয়ে তৈরি করা আমি দেখিনি। ফর্মের আবদ্ধ কোন বস্তুর অ্যারেতে কোনও নতুন উপাদানকে সামঞ্জস্য করার জন্য কোনও সারি, পুরো টেম্প্লেটের কিছু অংশ যুক্ত করতে এটি কী গ্রহণ করবে তা কি কেউ অনুসন্ধান করেছেন? টেম্পলেটটিতে অ্যারের উপাদান সূচকে টেম্প্লেট করা অন্তর্ভুক্ত থাকবে এবং পোস্ট করার জন্য যথাযথভাবে সিরিয়ালযুক্ত করা যেতে পারে। তবে সব কিছু ভাবতে আমার সমস্যা হচ্ছে। লক্ষ্যটি ইনফোপথের মতো কার্যকারিতা। (আমি বিভিন্ন বিদ্যমান ইনফোপথ বৈশিষ্ট্য এবং ইনফোপ্যাথ বিকল্প সম্পর্কে সচেতন aware)
জেসন ক্লেবান

47

এই বিষয়ে কিছু গবেষণা করেছি এবং আমি jquery-tmpl ব্যবহার করব । কেন?

  1. এটি জন রেসিগ লিখেছেন।
  2. এটি মূল jQuery টিম একটি "অফিসিয়াল" প্লাগইন হিসাবে রক্ষণাবেক্ষণ করবে। সম্পাদনা: jQuery টিম এই প্লাগইনটিকে অবমূল্যায়ন করেছে।
  3. এটি সরলতা এবং কার্যকারিতা মধ্যে একটি নিখুঁত ভারসাম্য আঘাত।
  4. এটিতে খুব পরিষ্কার এবং সুচিন্তিত বাক্য গঠন রয়েছে।
  5. এটি ডিফল্টরূপে এইচটিএমএল-এনকোড।
  6. এটি অত্যন্ত এক্সটেনসিবল।

আরও এখানে: http://forum.jquery.com/topic/templating-syntax


+1 টি। তবে আমি রিক স্ট্রহল ব্যবহার করেছি। Bcoz এটি একটি ছোট এবং আমার উদ্দেশ্য ভালভাবে পরিবেশন করে।
ইসমাইলস

এটি সবেমাত্র ঘোষণা করা হয়েছিল যে এটি এখন অফিশিয়াল প্লাগইন
সার্ক

20
দুর্ভাগ্যক্রমে, এটি অবমূল্যায়ন করা হয়েছিল । কোন ফোরকার?
ওনসিমাসউনবাউন্ড

3
২০১২-এ এখন দৃশ্যপটটি কি বদলেছে, মানে, রেজিগের মূল স্ক্রিপ্টের উপরে বিকশিত লাইব্রেরিগুলি ব্যবহার করে টেম্প্লেটিংয়ের আরও ভাল সমাধান আছে কি?
রজত গুপ্ত

4
@ ওনিসিমাসউনবাউন্ড এটি জেএস রেন্ডার সুপার-সিড করেছেন। github.com/BorisMoore/jsreender
ব্লোসি

23

jQote: http://aefxx.com/jquery-plugins/jqote/

কেউ রেসিগের মাইক্রো-টেম্প্লেটিং সলিউশন নিয়েছিল এবং এটিকে একটি jQuery প্লাগইনে প্যাকেজ করেছে।

রেজিগ তার নিজের প্রকাশ না হওয়া পর্যন্ত আমি এটি ব্যবহার করব (যদি সে তার নিজের প্রকাশ করে)।

টিপটির জন্য ধন্যবাদ, ইবিবি।


7
এটি এখন jQote2 এ পরিণত হয়েছে: aefxx.com/jquery-plugins/jqote2
অ্যালেক্স অ্যাঙ্গাস

17

jQuery ন্যানো :

টেম্পলেট ইঞ্জিন

বেসিক ব্যবহার

ধরে নিচ্ছি আপনার অনুসরণে জেএসওএন প্রতিক্রিয়া রয়েছে:

data = {
  user: {
    login: "tomek",
    first_name: "Thomas",
    last_name: "Mazur",
    account: {
      status: "active",
      expires_at: "2009-12-31"
    }
  }
}

আপনি করতে পারেন:

nano("<p>Hello {user.first_name} {user.last_name}! Your account is <strong>{user.account.status}</strong></p>", data)

এবং আপনি প্রস্তুত স্ট্রিং পাবেন:

<p>Hello Thomas Mazur! Your account is <strong>active</strong></p>

পরীক্ষার পৃষ্ঠা ...


এটি নিয়ন্ত্রণ কাঠামো (ifs এবং লুপগুলি) করে না
মাহেমফ

13

jQuery-tmpl jQuery 1.5 থেকে jQuery 1.5 এ শুরু হবে:

http://blog.jquery.com/2010/10/04/new-official-jquery-plugins-provide-templating-data-linking-and-globalization/

অফিসিয়াল ডকুমেন্টেশন এখানে:

http://api.jquery.com/category/plugins/templates/


সম্পাদনা: এটি jQuery 1.5 এর বাইরে রেখে দেওয়া হয়েছে এবং এখন jQuery UI টিম সমন্বিত হবে কারণ এটি আসন্ন jQuery UI গ্রিডের নির্ভরতা হবে be

http://blog.jquery.it/2011/04/16/official-plugins-a-change-in-the-roadmap/


11

এটি কীভাবে আপনার নির্দিষ্ট সমস্যা পরিচালনা করে তা নিশ্চিত নয়, তবে খাঁটি টেম্পলেট ইঞ্জিনও রয়েছে


এর সীমাবদ্ধতা ছাড়াও, খাঁটি ব্যবহার করা খুব সহজ
যাদ্দার ডায়াস

@ জাদার, কোন সীমাবদ্ধতা সবচেয়ে বেদনাদায়ক?
মাইক

@ মাইক পিওর ডিজাইনের মাধ্যমে সীমাবদ্ধ। সার্ভার-সাইড টেম্পলেট ইঞ্জিনগুলিতে আপনাকে বৈধ এইচটিএমএলকে আটকে থাকতে হবে না, তবে খাঁটি এইচটিএমএল ভিত্তিক। তবে আমি মনে করি এখানে এমন কৌতুক রয়েছে যা অন্য জাভাস্ক্রিপ্ট টেম্পলেট ইঞ্জিনটিকে সার্ভারের পাশের মতো শক্তিশালী হতে দেয়।
জাদ্দার ডায়াস

@ জ্যাডার, ঠিক এইচটিএমএল এর জন্য ok তবে আপনি কিরক এবং অন্য একটি ইঞ্জিন বলতে কী বোঝাতে চেয়েছিলেন তা আমি পাইনি।
মাইক

@ মাইিক পিউরকে কিছু বৈশিষ্ট্য অন্তর্ভুক্ত করার জন্য স্ক্র্যাচ থেকে নতুন করে লিখতে হবে। অবৈধ এইচটিএমএল টেমপ্লেটগুলিকে অনুমতি দেওয়ার জন্য আপনার পৃথক scriptবৈশিষ্ট্যের সাথে ট্যাগ ব্যবহার করা উচিত । এটি এমন একটি "quirk" যা অবৈধ এইচটিএমএলকে অনুমতি দেয়। typetext/javascript
জাদ্দার ডায়াস

7

কিভাবে এটি আপনার "বেস্ট" define উপর নির্ভর করে, দয়া করে আমার পোস্ট দেখতে এখানে বিষয়ে

আপনি যদি সর্বাধিক সন্ধান করেন তবে এখানে একটি দুর্দান্ত মানদণ্ড রয়েছে , দেখে মনে হয় যে ডওটি জিতেছে এবং অন্য সকলকে পিছনে ফেলেছে

আপনি যদি সর্বাধিক অফিসিয়াল JQuery প্লাগইন সন্ধান করেন তবে আমি যা জানতে পেরেছি তা এখানে

প্রথম অংশ: জিকুয়েরি টেম্পলেটগুলি

বিটা, অস্থায়ীভাবে অফিসিয়াল JQuery টেম্পলেট প্লাগইনটি ছিল এই http://api.jquery.com/category/plugins/templates/

তবে স্পষ্টতই, খুব বেশিদিন আগে এটি বেটাতে রাখার সিদ্ধান্ত নেওয়া হয়েছিল ...

দ্রষ্টব্য: jQuery টিম এই প্লাগইনটিকে অতীত বিটা না নেওয়ার সিদ্ধান্ত নিয়েছে। এটি আর সক্রিয়ভাবে বিকশিত বা রক্ষণাবেক্ষণ করা হচ্ছে না। উপযুক্ত প্রতিস্থাপন টেম্পলেট প্লাগইন প্রস্তুত না হওয়া পর্যন্ত ডক্সটি আপাতত এখানে (রেফারেন্সের জন্য) রয়ে গেছে।

দ্বিতীয় খণ্ড: পরবর্তী পদক্ষেপ

নতুন রোডম্যাপ থাকা প্লাগইনগুলির একটি নতুন সেট জন্য তাগ মনে JSRender (DOM এর স্বাধীন এবং এমনকি JQuery টেমপ্লেট রেন্ডারিং ইঞ্জিন) এবং JSViews যা বাঁধাই এবং পর্যবেক্ষক / পর্যবেক্ষণযোগ্য প্যাটার্ন বাস্তবায়ন কিছু চমৎকার তথ্য আছে

এই বিষয়টিতে ব্লগ পোস্ট এখানে

http://www.borismoore.com/2011/10/jquery-templates-and-jsviews-roadmap.html

এবং এখানে সর্বশেষ উত্স

অন্যান্য উৎস

মনে রাখবেন এটি এখনও বিটাতে নেই, এবং কেবল একটি রোড ম্যাপ আইটেমই নয়, তবে টেমপ্লেট এবং ইউআই বাইন্ডিংয়ের জন্য অফিসিয়াল জিকুয়েরি / জিকুয়েরইউআই এক্সটেনশান হওয়ার জন্য ভাল প্রার্থী বলে মনে হচ্ছে


4

শুধু বোকা হতে ^^

// LighTest TPL
$.tpl = function(tpl, val) {
    for (var p in val)
        tpl = tpl.replace(new RegExp('({'+p+'})', 'g'), val[p] || '');
    return tpl;
};
// Routine...
var dataObj = [{id:1, title:'toto'}, {id:2, title:'tutu'}],
    tplHtml = '<div>N°{id} - {title}</div>',
    newHtml    = '';
$.each(dataObj, function(i, val) {
     newHtml += $.tpl(tplHtml, val);
});
var $newHtml = $(newHtml).appendTo('body');

http://jsfiddle.net/molokoloco/w8xSx/ ;)


3

এটি jsquery নির্দিষ্ট নয়, তবে এখানে গুগল দ্বারা ওপেন সোর্স হিসাবে প্রকাশিত একটি জেএস-ভিত্তিক টেম্প্লেটিং লাইব্রেরি রয়েছে:

http://code.google.com/p/google-jstemplate/

এটি ডোম উপাদানগুলিকে টেম্পলেট হিসাবে ব্যবহার করার অনুমতি দেয় এবং পুনরায় প্রবেশকারী হয় (এটিতে টেমপ্লেট রেন্ডারিংয়ের ফলাফল এখনও একটি টেমপ্লেট যা ভিন্ন ডেটা মডেল দিয়ে পুনরায় রেন্ডার করা যায়)।


2

অন্যরা jquery-tmpl নির্দেশ করেছেন এবং আমি সেগুলি উত্তরকে অগ্রাহ্য করেছি। তবে গিথুব কাঁটাচামচ দেখে নিতে ভুলবেন না।

সেখানে গুরুত্বপূর্ণ ফিক্সগুলি এবং আকর্ষণীয় বৈশিষ্ট্যগুলিও রয়েছে। http://github.com/jquery/jquery-tmpl/network


1
কোনও বিশেষ কাঁটাচামড়া সমাধানের জন্য দেখুন?
কেভিন হাকানসন

Tbh, এটা একটি বিট নোংরা ... আমি জন্য গিয়েছিলাম github.com/appendto/jquery-tmpl পরিবর্তন একটি দ্রুত স্ক্যান এবং যে appendto যোগাযোগ বিবেচনা করার পর। ওয়াইএমএমভি
ইয়ান

jquery-tmpl সরকারী 1.4.3 বিতরণ ভাঁজ করা হয়েছে।
ইয়ান


1

আপনি .NET ফ্রেমওয়ার্ক 2.0 / 3.5 এ কাজ করছেন, তাহলে আপনি যেমন দ্বারা বাস্তবায়িত JBST কটাক্ষপাত করা উচিত http://JsonFx.net । এটিতে একটি ক্লায়েন্ট-সাইড টেম্প্লেটিং সমাধান রয়েছে যার সাথে পরিচিত জেএসপি / এএসপি সিন্ট্যাক্স রয়েছে তবে কমপ্যাক্ট ক্যাশে-সক্ষম টেম্পলেটগুলির জন্য বিল্ড-টাইমে প্রাকপম্পাইল রয়েছে যা রানটাইমটিতে পার্স করার দরকার নেই। টেমপ্লেটগুলি খাঁটি জাভাস্ক্রিপ্টে সংকলিত হওয়ায় এটি jQuery এবং অন্যান্য জাভাস্ক্রিপ্ট লাইব্রেরির সাথে ভাল কাজ করে।


1

আমি জেটিম্প্লেটস জেকুরি প্লাগিং ব্যবহার করছিলাম তবে কার্য সম্পাদনটি খারাপ ছিল bad আমি ট্রিম্পাথ ( http://code.google.com/p/trimpath/wiki/JavaScriptTemplets ) এ চলেছি যা আরও ভাল পারফরম্যান্স করেছে। আইই 7 বা এফএফ নিয়ে কোনও সমস্যা আমি লক্ষ্য করি না।


1

খুব হালকা কাজের জন্য jquery-tmpl পর্যাপ্ত, তবে এটি কিছু ক্ষেত্রে প্রয়োজন যে কীভাবে ডেটা নিজেই ফর্ম্যাট করতে হয় (খারাপ জিনিস!) Know

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

ওহ, এবং সহজ বাক্য গঠন।


0

আপনি কীভাবে আপনার টেম্পলেটগুলি ডিজাইন করতে চান তা আপনি কিছুটা ভাবতে চাইতে পারেন।

তালিকাভুক্ত অনেকগুলি টেম্পলেট সমাধানগুলির সাথে একটি সমস্যা (jQote, jquery-tmpl, jTemplate) হ'ল এটি আপনার HTML এ নন- এইচটিএমএল সন্নিবেশ করানো দরকার যা এইচটিএমএল সরঞ্জামগুলিতে বা এইচটিএমএল ডিজাইনারদের সাথে বিকাশ প্রক্রিয়াতে কাজ করতে ব্যথা হতে পারে । আমি ব্যক্তিগতভাবে এই পদ্ধতির অনুভূতি পছন্দ করি না, যদিও এর পক্ষে উপকারিতা এবং বিপরীতে রয়েছে।

এখানে আরও একটি শ্রেণির টেম্পলেট পদ্ধতির রয়েছে যা সাধারণ এইচটিএমএল ব্যবহার করে তবে আপনাকে উপাদান বৈশিষ্ট্য, সিএসএস ক্লাস বা বাহ্যিক ম্যাপিংয়ের সাহায্যে ডেটা বাইন্ডিংগুলি নির্দেশ করতে দেয়।

নকআউট এই পদ্ধতির একটি ভাল উদাহরণ, তবে আমি নিজেই এটি ব্যবহার করি নি তাই অন্যরা এটি পছন্দ করেন কি না তা সিদ্ধান্ত নিতে আমি এটি ভোটে রেখে যাচ্ছি। কমপক্ষে যতক্ষণ না আমার আরও বেশি সময় খেলার আছে।

খাঁটি অন্য উত্তর হিসাবে তালিকাভুক্ত করা এই পদ্ধতির আরেকটি উদাহরণ।

রেফারেন্সের জন্য আপনি চেইন.জেএস এও দেখতে পারেন তবে এটি আসল প্রকাশের পর থেকে খুব বেশি আপডেট হয়েছে বলে মনে হয় না। এটির আরও পটভূমির জন্য http://javascriptly.com/2008/08/a-better-javascript-template-engine/ দেখুন


0

ওয়েবসাইটে জন রেসিগের টেম্পলেট ইঞ্জিন ব্যবহার করে ড্রপবক্স । তারা এটিকে কিছুটা সংশোধন করেছে আপনি ড্রপবক্সের এই জেএস ফাইলটি পরীক্ষা করতে পারেন । Tmpl জন্য এই ফাইলটি অনুসন্ধান করুন এবং আপনি টেমপ্লেট ইঞ্জিনের কোড পাবেন।

ধন্যবাদ। আশা করি এটি কারও কাজে আসবে।


0

আমি বর্তমানে একটি বহু HTML টেম্প্লেটিং ফ্রেমওয়ার্ক ব্যবহার করছি। এই ফ্রেমওয়ার্কটি আপনার ডিওমে টেম্পলেটযুক্ত ডেটা আমদানি করাটিকে অনেক সহজ করে তোলে। এছাড়াও দুর্দান্ত এমভিসি মডেলিং।

http://www.enfusion-framework.org/ (নমুনাগুলি দেখুন!)


-1

বিউবোলের মাধ্যমে খাঁটি একটি পুনর্লিখনও রয়েছে - jquery খাঁটি এইচটিএমএল টেমপ্লেট - https://github.com/mpapis/jquery-pure-templates

এটি বেশিরভাগ jquery সিলেক্টর ব্যবহার করে অনেক বেশি স্বয়ংক্রিয় রেন্ডারিংয়ের মঞ্জুরি দেয়, এর চেয়ে গুরুত্বপূর্ণ আরও কী কী এটির জন্য HTML এ অভিনব জিনিসগুলি লাগানোর প্রয়োজন হয় না।

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