নোড.জেএস এর জন্য কি কোনও টেম্পলেট ইঞ্জিন রয়েছে? [বন্ধ]


271

আমি নোড.জেএস ব্যবহার করে একটি সম্পূর্ণ ওয়েব অ্যাপ্লিকেশন তৈরির জন্য পরীক্ষা করছি জ্যাঙ্গো টেম্পলেট ইঞ্জিনের মতো কোনও টেম্পলেট ইঞ্জিন বা উদাহরণস্বরূপ কি কমপক্ষে আপনাকে বেস টেমপ্লেটগুলি প্রসারিত করতে দেয়?


17
আমি সবেমাত্র জানতে পেরেছি যে জাভাস্ক্রিপ্ট ভি 8 ইঞ্জিন রুবি, পিএইচপি এবং পাইথনের চেয়ে দ্রুত। গতিশীল ভাষার জন্য আশ্চর্যজনকভাবে দ্রুত। যদিও জাভা এবং সি # এর চেয়ে ধীর।
নসরেডনা

77
@ নসরডেনা: জাভা সম্ভবত যে কোনও কিছুর চেয়ে দ্রুত হতে পারে ?! ;)
ড্যানিয়েল স্লোফ

27
@ ড্যানিয়েল জাভা আজকাল ড্যানিয়েলের শ্যুটআউট বেঞ্চমার্কগুলিতে অ্যাডা, সি এবং সি ++ ব্যতীত সমস্ত কিছুকে পরাজিত করে আসলে খুব দ্রুত।
মেন্টালিক্রাইস্ট

20
যে কেউ সিনট্যাক্স, উত্পাদনশীলতা এবং পারফরম্যান্স ব্যতীত অন্য কিছু সম্পর্কে চিন্তা করেন না, তারা রাফটার ব্যবহার করতে হবে (সি এর জন্য ওয়েব কাঠামো)
পাবলো বি

6
node.js ভাষা সম্পর্কে নয়। এটি পুরোপুরি ডিজাইনের এবং জেএস আইও কে পরিচালনা করে, সে সম্পর্কে দুর্দান্ত। আপনি রুবির ওয়েব ফ্রেমওয়ার্কগুলি দ্রুত চালিত করতে পারবেন যদি আপনি এটির IO লাইব্রেরিগুলি নতুন করে ডিজাইন করেন।
জুলস

উত্তর:


166

নোড জেএস মডিউলগুলি উইকি পৃষ্ঠা দেখুন। তারা নোড.জেএস সমর্থনকারী সমস্ত টেম্প্লেটিং ইঞ্জিন তালিকাভুক্ত করেছে ।


7
পৃষ্ঠাটি অবচিত হয়ে গেছে আপনি ভিশনমিডিয়া উইকিতে একটি বিকল্প পৃষ্ঠা এবং টেমপ্লেটগুলি সম্পর্কে অধ্যায়টি পেতে পারেন
থমাস পোটায়ার

@ থমাসপোটায়ার এটি অবহিত করা হয়েছে কারণ তারা পরিবর্তে এনপিএম অনুসন্ধান ব্যবহার করার পরামর্শ দেন।
inf3rno

52

আপনি গোঁফ.জেএস ব্যবহার করতে সক্ষম হবেন, যদি এটি কাজ না করে তবে আমাকে সমস্যাগুলি প্রেরণ করুন এবং আমি এটি ঠিক করব কারণ আমি যেভাবেই নোড.জেজে এগুলি ব্যবহার করব।

http://github.com/janl/mustache.js

আমি জানি যে এটি কোনও ডিওএম ছাড়াই কাজ করে কারণ একগুচ্ছ কাউচডিবি স্ট্যান্ডলোন অ্যাপ্লিকেশন এটিকে স্পাইডারমনকি ভিউ সার্ভারে ব্যবহার করছে।


3
নোড.জেএস এর সাথে একসাথে গোঁফ এবং ইন্ডসকোর
MKroehnert

@ এমক্রোহনার্ট লিঙ্কটি নষ্ট হয়েছে
ইউকশিমা হুকসায়

40

আপনি যদি এইচএমএল পছন্দ করেন তবে নোডের জন্য আরও ভাল কিছু পরীক্ষা করে দেখতে চান http://jade-lang.com , আমি পাশাপাশি hML.js লিখেছি :)


4
জেড বেশ দুর্দান্ত। আমি সবেমাত্র এটি ব্যবহার শুরু করেছি, সুতরাং এর পারফরম্যান্সের সাথে কথা বলতে পারি না, তবে বাক্য গঠনটি আমার পছন্দ হয়। এবং এক্সপ্রেসে অন্তর্নির্মিত সমর্থন একটি প্লাস।
ব্রুফা

3
কর্মক্ষমতা যথেষ্ট, টেমপ্লেটগুলি যাইহোক ক্যাশে করা উচিত। অনুভূমিকভাবে স্কেল করতে হবে, উল্লম্বভাবে নয়, অন্যথায় আপনি সম্ভবত কোনও টেম্পলেট ইঞ্জিন এবং কিছু ফাংশন / কনট্যাট ব্যবহার করতে পারবেন না
tjholowaychuk

14

সব সময় নতুন টেম্প্লেটিং ইঞ্জিন রয়েছে।

আন্ডারস্কোর.জেএস জেএসে প্রচুর ক্রিয়ামূলক প্রোগ্রামিং সমর্থন যোগ করে এবং এতে টেম্প্লেটিং রয়েছে।

এবং ঠিক আজ আমি এই সম্পর্কে শুনেছি: http://github.com/SamuraiJack/Shotenjin- সরানো


6
আন্ডারস্কোর.জেএস এর জন্য থাম্ব আপ। দুর্দান্ত লাইব্রেরি, আমি এটিকে আমার ক্লায়েন্টের পাশাপাশি নোড.জেএস কাজের জন্য ব্যবহার করি। তাদের টেম্প্লেটিং ইঞ্জিন জন রেসিগের জেএস মাইক্রো টেম্প্লেটিং ইঞ্জিন ( ejohn.org/blog/javascript-micro-templating ) এর উপর ভিত্তি করে তৈরি হয়েছে যা আমি এর আগেও বহুবার ব্যবহার করেছি। নোড.জেএসএস নিয়ে কাজ করার সময় আফিক আপনার সেরা বিকল্প এই মুহুর্তে option
ফেলিক্স জিসেন্ডারফার

2
এইগুলির কোনও সমর্থন উত্তরাধিকার?
নিক রেটাল্যাক

1
@ নিক জিনজগুলি উত্তরাধিকারকে সমর্থন করছে বলে মনে হচ্ছে, প্রথম লাইনটি দেখুন: github.com/ravelsoft/node-jinjs/blob/master/test/templates/…
প্যানচিকর

13

আপনার নোড-অ্যাসিঙ্কইজেএসটি লক্ষ্য করা উচিত , যা নোড.জেএসগুলির অ্যাসিনক্রোনাস প্রকৃতিকে স্পষ্টভাবে বিবেচনার জন্য ডিজাইন করা হয়েছে। এমনকি এটি টেমপ্লেটের ভিতরে অ্যাসিঙ্ক কোডগুলি ব্লক করতে দেয় allows

এখানে একটি উদাহরণ ডকুমেন্টেশন গঠন:

<html>
  <head>
    <% ctx.hello = "World";  %>
    <title><%= "Hello " + ctx.hello %></title>
  </head>
  <body>

    <h1><%? setTimeout(function () { res.print("Async Header"); res.finish(); }, 2000)  %></h1>
    <p><%? setTimeout(function () { res.print("Body"); res.finish(); }, 1000)  %></p>

  </body>
</html>

7

আপনি দাড়িবিহীন চেষ্টা করতে পারেন (এটি ওয়েল্ড / প্লেট দ্বারা অনুপ্রাণিত):

উদাহরণ স্বরূপ:

{ post:
  { title: "Next generation templating: Start shaving!"
  , text: "TL;DR You should really check out beardless!"
  , comments:
    [ {text: "Hey cool!"}
    , {text: "Really gotta check that out..."}  ]
  }
}

আপনার টেম্পলেট:

<h1 data-template="post.title"></h1>
<p data-template="post.text"></p>
<div>
  <div data-template="post.comments" class="comment">
    <p data-template="post.comments.text"></p>
  </div>
</div>

আউটপুট:

<h1>Next generation templating: Start shaving!</h1>
<p>TL;DR You should really check out beardless!</p>
<div>
  <div class="comment">
    <p>Hey cool!</p>
  </div>
  <div class="comment">
    <p>Really gotta check that out...</p>
  </div>
</div>

আপনার কোড এবং আপনার উল্লেখ করা লিঙ্ক সম্পর্কে আপনার উত্তরে আরও বর্ণনামূলক হোন। উল্লেখ করুন: কীভাবে উত্তর দিন

আকর্ষণীয় হবে, নোডের মধ্যে ফাইলটি কীভাবে প্রসেস করা যায় বা ভেরিয়েবলগুলি বসানো যায়
জুলিয়ান এফ ওয়েইনার্ট

6

সাইমন উইলিসন জ্যাঞ্জোড প্রকল্পের জন্য জাঙ্গো টেম্পলেট ভাষার একটি সুন্দর সম্পূর্ণ বন্দরটিতে আমি কিছু কাজ করেছি ( জাঙ্গো থেকে কিছু দরকারী ধারণা ধার করা নোড.জেএস এর জন্য ইউটিলিটিস ফাংশন)।

ডকুমেন্টেশন এখানে দেখুন


6

আমি সিমফোনির সাথে ট্যুইগ ব্যবহার করি এবং এখন আমি নোড.জেএসে ছোটাছুটি করছি, তাই আমি https://github.com/justjohn/twig.js এবং https://github.com/paularm স্ট্র/swig এ দেখছি , যা আপনি সম্ভবত আপনি যদি জাঙ্গো ব্যবহার করেন তবে পছন্দ করুন।


2
টুইগজেএস একপ্রকার মৃত, গিটহাব বলেছিলেন সর্বশেষ প্রতিশ্রুতি ছিল বছর দু'বছর আগে। অন্যদিকে সুইগ বেশ আক্কেল। আমি সুইগ যেতে হবে।
দারখোগ

এফওয়াইআই : 25 জুন 2015-এ এই প্রতিশ্রুতি অনুসারে সুইগ গিথুব দাবি করেছে যে এটি আর রক্ষণাবেক্ষণ করা হচ্ছে না । ভবিষ্যতে এটি পরিবর্তিত হতে পারে তবে এখন পর্যন্ত এটি বিবেচনা করার মতো বিষয়।
রেডিওভিজুয়াল

নুনজাক্সের কাছে খুব মূল্যবান সিনট্যাক্স রয়েছে, এটির মূল্য কী।
mwcz

5

আপনি যদি টেমপ্লেটগুলিতে ন্যূনতম পদ্ধতির সন্ধান করেন তবে আপনি JSON টেমপ্লেটটি পরীক্ষা করে দেখতে পারেন ।

আরও একটি পূর্ণ বৈশিষ্ট্যযুক্ত বিকল্প হ'ল ইজেএস । এটি জ্যাঙ্গোর কাছ থেকে আপনি যে কোনও কিছুর সাথে মিল পান a

আপনার মাইলেজ এগুলির জন্য পৃথক হতে পারে - সেগুলি ব্রাউজার জাভাস্ক্রিপ্ট পরিবেশের জন্য ডিজাইন করা হয়েছে, নোড.জেএস নয় not


2
এটি জ্যাঙ্গোর টেম্পলেটগুলির সাথে মোটেই সাদৃশ্য নয়, কারণ একটি জ্যাঙ্গোর টেমপ্লেটগুলিতে ভাল ডকুমেন্টেশন রয়েছে। ইজেএস হ'ল একটি সংগ্রাম এবং আপনি কেবল কি উপলভ্য তা বোঝার জন্য আপনি এর উত্স কোডটি পড়া শেষ করবেন।

5

সতর্কতা: জিনজেগুলি আর রক্ষণাবেক্ষণ করা হয় না। এটি এখনও কাজ করছে তবে এক্সপ্রেসের সর্বশেষতম সংস্করণের সাথে সামঞ্জস্যপূর্ণ নয়।

আপনি জিনজ ব্যবহার করার চেষ্টা করতে পারেন । এটি জিনজার একটি বন্দর, খুব ভাল পাইথন টেম্প্লেটিং সিস্টেম। আপনি এটি এনপিএম সহ এটি ইনস্টল করতে পারেন:

npm install jinjs

টেম্পলেট.টিপিএল:

I say : "{{ sentence }}"

আপনার টেম্পলেট.জেএস এ:

jinjs = require('jinjs');
jinjs.registerExtension('.tpl');
tpl = require('./template');
str = tpl.render ({sentence : 'Hello, World!'});
console.log(str);

আউটপুটটি হবে:

I say : "Hello, World!"

আমরা এটি সক্রিয়ভাবে বিকাশ করছি, খুব শীঘ্রই একটি ভাল ডকুমেন্টেশন আসা উচিত।


4

এইচএমএল নোড.জেএস এর জন্য একটি ভাল পছন্দ

http://github.com/creationix/haml-js

haml-JS

!!! XML
!!! strict
%html{ xmlns: "http://www.w3.org/1999/xhtml" }
  %head
    %title Sample haml template
  %body
    .profile
      .left.column
        #date= print_date()
        #address= current_user.address
      .right.column
        #email= current_user.email
        #bio= current_user.bio

এইচটিএমএল

<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Sample haml template
</title></head><body><div class="profile"><div class="left column"><div id="date">January 1, 2009
</div><div id="address">Richardson, TX
</div></div><div class="right column"><div id="email">tim@creationix.com
</div><div id="bio">Experienced software professional...
</div></div></div></body></html>


4

নোড.জেএস এর জন্য রেজার সিনট্যাক্সের মতো "ভ্যাশ" - এপটনেট এমভিসি চেষ্টা করুন

https://github.com/kirbysayshi/Vash

এছাড়াও চেকআউট: http://haacked.com/archive/2011/01/06/razor-syntax-quick-references.aspx


// sample
var tmpl = vash.compile('<hr/>@model.a,@model.b<hr/>');
var html = tmpl({"a": "hello", "b": "world"});
res.write(html);

1
ভাস চিৎকারের জন্য ধন্যবাদ!
অ্যান্ড্রু

3

গুগলের ক্লোজার টেমপ্লেটগুলি একটি নেটিভ-জাভাস্ক্রিপ্ট টেম্প্লেটিং সিস্টেম এবং নোডজেএস সহ একটি আপাতদৃষ্টিতে প্রাকৃতিক ফিট। তাদের একীকরণের জন্য কিছু নির্দেশাবলী এখানে দেওয়া হয়েছে।


2

আপনি কি খাঁটি চেষ্টা করেছেন ?
যদি আপনি এটি চেষ্টা করে থাকেন তবে ফোরামে আপনার যে কোনও সমস্যার মুখোমুখি হতে হবে তা নির্দ্বিধায় পোস্ট করুন

এটি প্রাথমিকভাবে ব্রাউজারের জন্য তৈরি করা হলেও এটি জ্যাকার এবং গেন্ডারের সাথে ভালভাবে কাজ করে।

আমি এখনও নোড.জেএস জানি না তবে আপনি যদি কিছু জেএস এবং মেমরিতে ফাংশনগুলি ক্যাশে করতে পারেন তবে গতি আরও বেশি চিত্তাকর্ষক হওয়া উচিত।


নোড.জেএস ডোম বোঝে না ... খাঁটি ডোম ব্যবহার করে, তবে যেহেতু এটি এর স্ট্রিংগুলি তৈরি করে। এটি তদন্ত করা আকর্ষণীয়। গোলমাল জন্য দুঃখিত।
মাইক

2

জাভা স্ক্রিপ্টে জ্যাঙ্গো টেম্প্লেটিং ইঞ্জিনের একটি বন্দর রয়েছে। তবে এটি দীর্ঘ সময়ের জন্য আপডেট করা হয়নি তবে এটিতে এখনও যথেষ্ট বৈশিষ্ট্য থাকতে পারে।

http://code.google.com/p/jtl-javascript-template/


2

ইয়াজেতও চেষ্টা কর । ;-) এটি একটি নতুন যা আমি গতকাল প্রকাশ করেছি, তবে আমি এখনই এটি ব্যবহার করছি এবং এটি স্থিতিশীল এবং দ্রুত (টেমপ্লেটগুলি একটি দেশীয় জেএস ফাংশনে সংকলিত হয়)।

এটি আইএমওতে কোনও টেম্পলেট ইঞ্জিনের পক্ষে সর্বোত্তম সিনট্যাক্স এবং এর ছোট কোড আকারের (8.5 কে মিনাইফড) সত্ত্বেও একটি সমৃদ্ধ বৈশিষ্ট্য সেট রয়েছে। এটির নির্দেশিকা রয়েছে যা আপনাকে শর্তসাপেক্ষে পুনরাবৃত্তি করতে, অ্যারে / হ্যাশগুলি পুনরায় ব্যবহার করতে সক্ষম হবে, পুনরায় ব্যবহারযোগ্য টেম্পলেট উপাদানগুলি সংজ্ঞায়িত করতে পারে etc.


আকর্ষণীয়, চমৎকার কাজ মিশু। ইজেএস এর থেকে কি এর কোনও সুবিধা আছে?
trusktr

0

আমি টুইটার থেকে hogan.js পেয়েছি এবং তার সাইটে টিম ও'রিলি দ্বারা প্রস্তাবিত। এটির সাথে আমার সেরা অনুশীলন নেই, তবে আমি টুইটার এবং ও'রিলির উপর বিশ্বাস করি। আপনার চেষ্টা করা উচিত্...



0

সত্যিই, নোড.জেএস এর জন্য সেরা এবং সর্বাধিক সাধারণ টেম্পলেট ইঞ্জিনটি (আইএমএইচও) প্লেটগুলি ( https://github.com/flatiron/plates )। আপনি নোড.জেএস ( http://flatiron.org ) এর জন্য ফ্ল্যাটিরন এমভিসি ফ্রেমওয়ার্কটিও দেখতে চাইতে পারেন ।


-1

আপনি DojoToolkit.org এর dojox.dtl ব্যবহার করতে পারেন। নোট করুন যে ডোজো 1.7 নোডজেএসে ভালভাবে চালাতে পারে এবং একটি সার্ভার সাইড লাইব্রেরি হিসাবে সম্পাদন করতে পারে। আপনি যদি আগ্রহী হন তবে আমি আপনাকে একটি সাধারণ উদাহরণ দিতে পারি।

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