অ্যাংুলারজেএস অ্যাপ্লিকেশন লেখার সময় জেড বা হ্যান্ডলবারগুলির কী ব্যবহার


120

আমি পুরো জাভাস্ক্রিপ্টের পুরো স্ট্যাক অ্যাপ্লিকেশনগুলিতে নতুন (ইশ), এবং অ্যাঙ্গুলারের কাছে সম্পূর্ণ নতুন, তাই আমি আশা করছিলাম যে এখানে কেউ আমার জন্য সরাসরি রেকর্ড রাখতে পারে।

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

আমার বলা উচিত যে আমি এর আগে কখনও এই টেম্প্লেটিং ফ্রেমওয়ার্ক ব্যবহার করি নি। সুতরাং আমি সুবিধাগুলির সাথে পুরোপুরি পরিচিত নই। তবে আমি উদাহরণস্বরূপ হ্যান্ডলবার্সের দিকে নজর দিলে এটি কৌনিকগুলিতে যেমন করত যেমন অনেকগুলি কাজ করে যেমন লুপিং ইত্যাদি does

আমি যতদূর বলতে পারি, যথাযথ এইচটিএমএল ব্যবহার করে অ্যাঙ্গুলারে টেম্পলেটগুলি তৈরি করা এবং তারপরে সমস্ত টেম্প্লেটিং ক্লায়েন্টের পক্ষটি তৈরি করা এবং উদাহরণস্বরূপ নোড এবং মঙ্গো ব্যবহার করে এপিআইয়ের প্রথম পদ্ধতির সাথে এটি একত্রিত করা সর্বাধিক বুদ্ধিমান হবে।

এই বিভ্রান্তির কারণ হ'ল গিটহাবের কাছে আমি যে উদাহরণগুলি পেয়েছি তার মধ্যে অনেকগুলি জ্যাডকে ব্যবহার করে এবং এটি আমার পক্ষে পাল্টা স্বজ্ঞাত বলে মনে হয়।

দয়া করে আমাকে আলোকিত করুন, এবং আমাকে সোজা করুন। আমি আমার চেয়ে অনেক বেশি জানেন এমন লোকদের কাছ থেকে কয়েকটি সেরা অনুশীলন শিখতে পছন্দ করব।

ধন্যবাদ

উত্তর:


61

যারা সন্দেহজনকভাবে জ্যাডকে একটি কৌণিক পরিবেশে সমর্থন করে তারা বুঝতে ব্যর্থ হয় যে ভিউ লজিক ক্লায়েন্টের সাথে সম্পর্কিত, এবং সার্ভারে ব্যবসায়িক যুক্তি যেমন ওপি মন্তব্য করেছে।

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

সম্প্রতি আমি এমন কিছু কোড পর্যালোচনা করেছি যেখানে সরল কৌণিক টেম্প্লেটিং কেবল সহজ সরলতা বজায় রেখে জ্যাডে মিশ্রণের চেয়ে আরও ভাল কাজ করতে পারে।

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

সার্ভার-সাইড টেম্প্লেটিংয়ের জন্য একটি বৈধ, বিশেষায়িত কেস রয়েছে: অপ্টিমাইজেশন, অকালীন অপটিমাইজেশন সাধারণত একটি খারাপ জিনিস মনে করে। কর্মক্ষমতা যেখানে সত্যই ইস্যুতে রয়েছে এবং এটি পরিচালনা করতে আপনার সার্ভারের ক্ষমতাও রয়েছে, সার্ভার সাইড টেম্প্লেটিং সহায়তা করতে পারে। এটি টুইটার এবং বেসক্যাম্পের মতো পণ্যের ক্ষেত্রে প্রযোজ্য, যেখানে সার্ভারের সাইড রাইডের প্রচুর পরিমাণে ব্যয়ভার ব্যয়টি সার্ভারের কাছে হ্রাস করা অনুরোধের মাধ্যমে অফসেট হয়।

হ্যান্ডলবার্স হিসাবে, অ্যাঙ্গুলারজেএস (আশ্চর্যজনক) ক্লায়েন্ট-সাইড টেম্প্লেটিংয়ের প্রতিস্থাপন করার দরকার নেই।


4
হাই নিক, এটাই আমি উত্তর পৌঁছেছি। আমি একেবারে ভোঁতাভাবে রাখিনি, তবে আমি রাজি!
জে পিট

60
@ নিক, আমি খুব বেশি লোক দেখিনি যারা এক্সএমএল / এইচটিএমএল লেখা / পড়া উপভোগ করেন। আপনি সম্ভবত এমন বিরল যাঁকে আমি কখনও দেখেছি যিনি প্রকৃতপক্ষে জ্যাডের মতো অনেক বেশি ড্রায়ার এবং ক্লিনারের পক্ষে favor XML / এইচটিএমএল লেখা / পড়া থেকে মানুষকে রক্ষা করা পুরো উদ্দেশ্যটির অনেকগুলি লাইব্রেরি রয়েছে।
অ্যালেক্স কে

12
যেখানে জটিলতার প্রয়োজন হয় না সেখানে আমি প্রবর্তন করি না। সি কোড বা আরও খারাপ, সি ++ টেম্পলেটগুলি পড়তে আপনার দিনগুলি ব্যয় করুন এবং আপনি দ্রুত বুঝতে পারবেন যে মানসিকভাবে পার্সিং করা এইচটিএমএল সত্যিই খুব তুচ্ছ একটি বিষয় ।
ইঞ্জিনিয়ার

35
"এটি দাবি করার জন্য কোনও পেশাদারের জন্য হাস্যকর" "," এইচটিএমএলকে মানসিকভাবে পার্স করা সত্যিই খুব তুচ্ছ বিষয় "" আমি এই খুব অবজ্ঞাপূর্ণ মন্তব্য খুঁজে পাই। পার্সিং করা এত সহজ বলে আপনি কি বরং সমাবেশ লিখবেন? জেড মূলত এক্সএমএল এর জন্য ওয়াইএএমএল যা হয় যখন আপনি এটি দিয়ে কৌনিক ব্যবহার করেন।
ফিলিপ গায়ারেট

7
আমি @ নিক উইগগিলের সাথে একমত মানসিকভাবে একটি জ্যাডে টেমপ্লেট বনাম কাঁচা এইচটিএমএল পার্স করার জন্য আমার জন্য সমান 'ওয়েটওয়্যার' সিপিইউ সময় প্রয়োজন। আমি এতটা বলতে যাব না যে আপনি যদি অসম্মতি প্রকাশ করেন তবে আপনি পেশাদারিত্বহীন, তবে আমার কাছে এটি একই জিনিস। @ ফিলিপ, জেডিইটি এইচটিএমএলকে পার্স করার সমতুল্য আপনার সি / সি ++ পার্স করার সমতুল্য দরিদ্র, খুব কম লোকই আছেন, যদি কেউ থাকেন, তবে যারা রিয়েল-টাইমে অ্যাসেম্বলিকে পার্স করা শুরু করতে পারে, তবে আমার মনে হয়, বেশিরভাগ ওয়েব বিকাশকারীরা জ্যাডের মতোই সহজে বা খুব সহজেই পার্সেল করতে পারত HTML ars
মনোনীত

63

আমি জ্যাডটি অ্যাঙ্গুলারজেএস দ্বারা গ্রাহিত টেম্পলেটগুলি তৈরি করতে ব্যবহার করি কারণ আমি সরল এইচটিএমএল লেখা ঘৃণা করি। দেখে মনে হচ্ছে এটির মতো:

.control-group(
  ng-form
  name='emailGroup'
  ng-class='{"ng-error": emailGroup.$invalid}'
)
  label.control-label Email
  .controls
    input(
      type='email'
      ng-model='user.email'
      required
      placeholder='you@example.com'
      focus-on='focusEmail'
    )

… যা আমি মনে করি প্লেইন এইচটিএমএল থেকে অনেক ক্লিনার er


12
ঠিক আছে, তাই আপনি কেবল এটি ব্যবহার করেন কারণ আপনি সরল এইচটিএমএল লেখা পছন্দ করেন না? এটাই কি জেডের মূল উপকার, অন্য জয় আছে কি? জ্যাড কি কখনও কোনওভাবে এইচটিএমএলকে জগাখিচু করে তোলে, তাই আপনাকে একটি নির্দিষ্ট আউটপুট পেতে এটি টুইট করতে হবে? আমি প্রকৃত প্রয়োজন ছাড়াই ইন্ডিয়ারেশনের আরও একটি স্তর যুক্ত করার বিপদ দেখছি । কিন্তু তারপর আবার, আমি জিজ্ঞাসা করছি কেন। আমি এখানে মান বুঝতে চাই।
জে পিট

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

নেই ng-inlude, সম্ভবত সঙ্গে একত্রে ব্যবহার ng-src, আবার বিভিন্ন Jades mixins থেকে অনেক এবং অন্তর্ভুক্ত?
জে পিট

2
এইচটিএমএল উপর বিমূর্ততা @JayPete জেড স্তরের হয় soooo পাতলা। এটি আমি ব্যবহার করেছি এমন সিনট্যাক্সগুলির মধ্যে অন্যতম স্বজ্ঞাত অনুবাদ। আপনি ভেরিয়েবল এবং শর্তসাপেক্ষ যুক্তি (যেখানে আপনি কোনও টেমপ্লেট ইঞ্জিনের সাথে থাকবেন) দিয়ে খনন শুরু করবেন তা বাদ দিয়ে জাদে খুব সামান্য যাদু ঘটে। এটি আসলে সমস্ত আলাদা নয়।
শেভ

6
সরল বিষয়গত।
শেভ

46

আমি কেন সত্যই বুঝতে পারি না যে কেন লোকেরা এর মধ্যে পার্থক্য সম্পর্কে চিন্তা করে:

<html ng-app>
 <!-- Body tag augmented with ngController directive  -->
 <body ng-controller="MyController">
   <input ng-model="foo" value="bar">
   <!-- Button tag with ng-click directive, and string expression 'buttonText' wrapped in "{{ }}" markup -->
   <button ng-click="changeFoo()">{{buttonText}}</button>
   <script src="angular.js">
 </body>
</html>

এবং এই:

html(ng-app="ng-app")
  // Body tag augmented with ngController directive  
  body(ng-controller="MyController")
    input(ng-model="foo", value="bar")
    // Button tag with ng-click directive, and string expression 'buttonText' wrapped in "{{ }}" markup
    button(ng-click="changeFoo()") {{buttonText}}
    script(src="angular.js")

তা বাদে আমি আরও কিছুটা মানব-পঠনযোগ্য খুঁজে পাই। সামান্য । লোকেরা কেন বিষয়টি নিয়ে এত উত্সাহী তা আমি পাই না। সবই বাইকশেডিং। পার্থক্য নগণ্য এবং যে কোনও সক্ষম প্রোগ্রামার গুগলে পাঁচ সেকেন্ডের পরে সহজেই একটিতে অন্যটিতে অনুবাদ করতে পারে। আপনি যা চান তা ব্যবহার করুন এবং প্রত্যেককেই কোনও কিছুর জন্য ঝগড়া করতে দিন। আপনার লড়াই বাছুন এবং পারমাণবিক চুল্লিগুলির মতো বাস্তবে গুরুত্বপূর্ণ বিষয়গুলি সম্পর্কে বিতর্কগুলিতে জড়ান;)


2
আমি সম্মত হই, যদিও আপনি যদি ifসমীকরণের জন্য কেবল 1 জেড যোগ করেন তবে হঠাৎ করে সমস্ত কিছু বদলে যায়। "প্রিমিয়াম ব্যবহারকারী" সম্পর্কে উপরে দেখুন।
TWiStErRob

15
আমি দ্বিমত পোষণ করছি, একটি 9 লাইন এইচটিএমএল পৃষ্ঠা সম্পূর্ণ অবাস্তব। পৃষ্ঠাগুলির উত্সটি আমি এখন দেখছি 2320 লাইনকে 1580 এ রূপান্তর করে ( এইচটিএমএল 2 জাজে ব্যবহার করে )। এখানেই চেয়ে বেশি 700 সময় লাইনের যে কেহ লিখেছিলেন সব Stackoverflow টেমপ্লেটের জন্য বরবাদ
ফিলিপ Gayret

2
@TWiStErRob আপনি যদি জেড থেকে এইচটিএমএল যাচ্ছেন তবে আপনাকে যা করতে হবে তা হ'ল টেমপ্লেটটি রেন্ডার করুন ol যদি ifআপনার জ্যাড মার্কআপে থাকে তবে আপনার ইতিমধ্যে যে কোনও উপায়ে টেম্প্লেটিং ইঞ্জিনের প্রয়োজন রয়েছে এবং আপনাকে ifসেই ইঞ্জিনের দ্বারা ব্যবহৃত বাক্য বিন্যাসে রূপান্তর করতে হবে । আমি সত্যিই আপনার সমালোচনা বুঝতে পারি না।
শেভ

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

3
@ ফিলিপ, বেশিরভাগ লাইনগুলি কেবল ট্যাগগুলি বন্ধ করে রেখেছেন তা ধরে নেওয়া কি নিরাপদ নয়? যেহেতু বেশিরভাগ সম্পাদক আপনি যখন একটি খোলার ট্যাগ লেখেন তখন স্বয়ংক্রিয়ভাবে ক্লোজিং ট্যাগ যুক্ত করে, আমি সন্দেহ করি এটি আসলে 700 টি লাইন লেখা রক্ষা করেছে।
সেমিকোলন

14
  1. অ্যাংুলার জেএসের সাথে আপনার হ্যান্ডলবারগুলি ব্যবহার করার দরকার নেই কারণ এটির নিজস্ব টেম্পলেট ইঞ্জিন রয়েছে।
  2. তারা জ্যাডকে ব্যবহার করার কারণ, কারণ এটি কেবলমাত্র একটি সার্ভার রেন্ডারার যা এইচটিএমএলে সংকলিত হবে এবং পরবর্তীতে কৌণিক জেএস দ্বারা পরিবেশন করা হবে।

তাই সার্ভারে টিএল; ডিআর, আপনার অ্যাপ্লিকেশনটির জন্য কেবল এইচটিএমএল কাঠামো তৈরি করতে আপনি যে কোনও ভাষা [জ্যাড, এইচএমএল, ...] ব্যবহার করতে পারেন, এটি কৌণিক জেএসের সাথে কিছুই করার নেই কারণ এটি রেন্ডার এবং HTML এ কাজ করবে সম্মুখভাগে রানটাইম

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


2
সার্ভারটি উত্পাদিত এইচটিএমএল ব্যবহার না করা এবং যুক্তি এবং দৃষ্টিভঙ্গিকে সম্পূর্ণ পৃথক করা কি পরিষ্কার হবে না? নাকি আমি এখানে কিছু মিস করছি? অ্যাংুলারজেএস অ্যাপ্লিকেশন লেখার সময় জাদ কেন একটি ভাল ধারণা?
জে পিট

আমি বলছি না কৌণিক জেএস ব্যবহার করা ভাল ধারণা। জ্যাডের কৌণিক জেএসের সাথে কোনও সম্পর্ক নেই। এটি পরিষ্কার করার জন্য, আমি আমার উত্তর আপডেট করব।
জাজং নগুইন

আমি বুঝতে পারি যে জ্যাডের অ্যাঙ্গুলারের সাথে কিছুই করার নেই। অ্যাঙ্গুলারজেএস পার্টিয়ালগুলিতে আসল এইচটিএমএল লিখে আমি জেডের মান কী তা বোঝার চেষ্টা করছি। আমি প্রচুর লোক এটি ব্যবহার করে দেখছি এবং বুঝতে চাই কেন :-)
জে পিট

2
আবার জ্যাডের অ্যাঙ্গুলারজেএস-এর কোনও সম্পর্ক নেই। অ্যাঙ্গুলারজেএস এইচটিএমএল পার্টিয়ালগুলি কম্যুম করে এবং একটি HTML পৃষ্ঠা থেকে পরিবেশন করা হয়। জেড বা হামল সহ সার্ভার সাইডে এইচটিএমএল পৃষ্ঠাগুলি তৈরি করতে আপনি যা কিছু ব্যবহার করতে পারেন। জেড / হামল প্রকৃতপক্ষে ফ্রেমওয়ার্কিং নয়। তারা আরও প্রাকপ্রসেসর। সঠিক প্রশ্নটি হবে "হ্যান্ডলবারস বা গোঁফ বা অন্যান্য জাভাস্ক্রিপ্ট টেম্প্লেটিং ভাষা"
এডি মঙ্গ জুনিয়র

@ জায়েপেট অ্যাঙ্গুলার জেএস বিকাশকালে জেড ব্যবহারের সুবিধা হ'ল জেড সিনট্যাক্সের কারণেই ক্লিনার। তবে তবুও, আমার অভিজ্ঞতার কারণে, এটি খুব বেশি সহায়ক নয়। সুতরাং এটি কেবল এইচটিএমএল দিয়েই করুন :)
ডিজং এনগুইন

8

গৃহীত উত্তরটি কিছুটা একতরফা এবং এই বিষয়টিকে অবহেলা করে যে এইচটিএমএল-এর জন্য প্রাক-সংকলকগুলির যে কোনও সেটআপের যে কোনও প্রকারের এইচটিএমএল প্রকল্পের জন্য দুর্দান্ত ব্যবহার রয়েছে: গঠন এবং ফলাফল চিহ্নিতকরণের নমনীয়তা।

কৌনিক অ্যাপে একা কাজ করছেন? জাদে একবার চেষ্টা করে দেখুন।

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

ডিজাইনের সময় এইচটিএমএল অংশগুলিতে এক বিরাট পরিমাণ পুনরাবৃত্তি হতে পারে। যদি এইচডিএমএল আউটপুট জেড ফাইলগুলির সেটের উপর ভিত্তি করে থাকে, তবে দলের প্রয়োজনীয়তার পরিবর্তনে নমনীয় আচরণ করা সহজ। এছাড়াও, পুনঃ-রচনা জেড অন্তর্ভুক্ত मार्কআপ পরিবর্তন করা বিশুদ্ধ এইচটিএমএল পুনরায় লেখার চেয়ে উল্লেখযোগ্যভাবে আরও দৃ is়।

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


2
কেন এটি -1 ছিল জানি না, তবে আমি এটি মোকাবেলা করেছি।
কে কে কোয়ান

এটি সম্পূর্ণভাবে সত্য নয়, কারণ এটি নিম্নচাপযুক্ত ছিল। জ্যাড এইচটিএমএল সংশোধন করার জন্য কিছু করে না। আপনি যদি প্রাক-সংকলক সহ সঠিক উপায়ে ব্যবহার করেন তবে আপনি সরল এইচটিএমএল সম্পর্কে একই কথা বলতে পারেন।
জাস্টিন 19

1
আপনি ঠিক বলেছেন, সমস্ত প্রাক-সংকলক সম্পর্কে একই কথা বলা যেতে পারে। জ্যাডের জন্য, মিক্সিনস জেড- lang.com/references/mixins মডুলারাইজেশন উন্নত করতে পারে (বিশেষত ভ্যানিলা এইচটিএমএলের তুলনায়)। আপনি যদি এইচটিএমএল সংশোধন করতে আগ্রহী হন তবে আপনি পলিমার-প্রজেক্ট.আর্গও পছন্দ করতে পারেন ।
মিরকো

7

আমি উপরের সমস্ত উত্তরগুলি পড়েছি এবং কিছুটা অবাক হয়েছিলাম কেউই এমন একটি দিক উল্লেখ করেন নি যা জেড ব্যবহার করে অ্যাংুলারজেএস টেম্পলেট তৈরি করে খুব দরকারী জিনিস thing

যেমনটি ইতিমধ্যে বলা হয়েছে, উত্পাদনে, কাঁচা এইচটিএমএল এবং জেড টাইপ করার মধ্যে বাস্তবের দৃশ্যের পার্থক্যটি আসলে উল্লেখযোগ্য, তবে আমাদের আরও বেশি গুরুত্বপূর্ণ জিনিসটি কখনই ভুলে যাওয়া উচিত নয় তা হ'ল আমাদের মাঝে মাঝে পরিবর্তনশীল এবং পুনরুদ্ধারকৃত কৌণিক জাল টেম্পলেটগুলির প্রয়োজন।

এটি সহজ কথায় বলতে গেলে , আমাদের মাঝে মাঝে এইচটিএমএলটি ইনারএইচটিএমএল এর মাধ্যমে পরিবর্তন করতে হবে এবং তারপরে অ্যাংুলারজেএসকে সামগ্রীগুলি পুনরায় সংযোগ করতে বাধ্য করা হবে। জেড এর মাধ্যমে এই জাতীয় মতামত উত্পন্ন করার ফলে এটি ঠিক এর ধরণের কাজ হতে পারে।

এছাড়াও, অ্যাঙ্গুলারজেএস মডেলগুলির সাথে ভালভাবে কাজ করে, যা কাঠামোটি সংজ্ঞা দ্বারা সুপরিচিত। আসলে, এটি ঘটেছিল যে আমরা আসলে সঠিক কাঠামোটি জানি না (কল্পনা করুন, বলুন, জেএসএন রেন্ডারার)। অ্যাঙ্গুলারজেএস এখানে বেশ আনাড়ি হবে (এমনকি যদি একটি কৌণিক অ্যাপ তৈরি করছিল) তবে জ্যাড কাজটি করবে।


2

আপনি জ্যাডের মাধ্যমে কৌনিক টেম্পলেট অন্তর্ভুক্ত করতে পারেন।

script(type="text/ng-template", id="admin")
  include partials/admin

টেমপ্লেটগুলি ক্যাশে করার জন্য আমি এটি জাভাস্ক্রিপ্ট ফাইলগুলিতে পালিয়ে যাওয়া টেম্পলেটগুলির চেয়ে কম কম ভঙ্গুর বুঝতে পারি।

দেখুন: https://docs.angularjs.org/api/ng/service/$templateCache


2

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

এইচটিএমএল এখনও খুব সুস্পষ্টভাবে লেখা যেতে পারে এবং পার্টিয়ালগুলি আরও বোধগম্য করে তুলতে ব্যবহার করা যেতে পারে। যেকোনো 500 টি লাইন পড়া শক্ত - এটি জেড বা এইচটিএমএল হোক।

এখানে একটি জেড টেমপ্লেট রয়েছে

.product-container

    .input-group.msB.col-md-5.no-padding
        .fnt-light-navyblue.mtB(for='name')
            strong Name the sticker
        input.full-input(type='text', placeholder='Awesome Batman Sticker')
    .clear

    .form-group.mmT
        label.form-label.fnt-light-navyblue
            strong Choose size
        .selector-group(ng-repeat="size in sizes", ng-class="{ 'msT': !$first}")
            - raw
            span.radio
                input.radio(name='choose_sticker_size',
                            ng-model="selectedSize",
                            type='radio',
                            value='{{size}}',
                            id="sticker-{{size}}")
                span.fake-radio
            label(for='sticker-{{size}}') {{size}} inch
            - endraw
    // end form-group
    .clear

এবং সমতুল্য এইচটিএমএল

<div class="product-container">

    <div class="input-group msB col-md-5 no-padding">
        <div for="name" class="fnt-light-navyblue mtB">
            <strong>Name the product</strong>
        </div>
        <input type="text" placeholder="Awesome Batman Sticker" class="full-input" />
    </div>
    <div class="clear"></div>

    <div class="form-group mmT">
        <label class="form-label fnt-light-navyblue">
            <strong>Choose size</strong>
        </label>
        <div
            class="selector-group"
            ng-class="{ 'msT': !$first}"
            ng-repeat="size in sizes">
                {% raw %}
                <span class="radio">
                    <input
                        id="sticker-{{size}}"
                        class="radio"
                        name="choose_sticker_size"
                        ng-model="selectedSize"
                        type="radio"
                        value="{{ size }}" />
                    <span class="fake-radio"></span>
                </span>
                <label for="sticker-{{size}}">{{size}}</label>
                {% endraw %}
        </div>
    </div><!-- end form-group -->
    <div class="clear"></div>
</div>

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


0

প্রথমত, আপনার সর্বদা কোনও ধরণের সার্ভার-সাইড টেম্প্লেটিং প্রয়োজন।

খাঁটি ক্লায়েন্ট-সাইড টেম্প্লেটিংয়ের লোডিংয়ের সময়ে বিশাল অসুবিধা রয়েছে, তাই সার্ভারে কিছু স্থির উপাদান রেন্ডার করে প্রায়শই এটি প্রশমিত করা হয়। এইভাবে যখন ব্যবহারকারী আংশিকভাবে কোনও পৃষ্ঠা লোড করে, সে ইতিমধ্যে পৃষ্ঠায় কিছু উপাদান দেখতে পাবে।

এবং ভাল, টেমপ্লেটগুলি এক্ষেত্রে কার্যকর, যদিও লোকেরা মাঝে মধ্যে জেকিলের পরিবর্তে স্থির এইচটিএমএল জেনারেটর ব্যবহার করে।


জেড ব্যবহারের আরও একটি কারণ রয়েছে যা এখানে এখানে আগে উল্লেখ করা হয়নি।

সাদা ব্যবধান।

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

আপনি এখানে আরও বিশদ পড়তে পারেন: https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Whitespace_in_the_DOM

আপনি যদি জ্যাড কোডটি লিখছেন তবে এটি এক-লাইন এইচটিএমএলে সংকলিত আছে যাতে এই সমস্যাটি নেই।


> [ফ্যাসেটরেন্ডার] ( meteorhacks.com/ ব্রেকফাস্ট-reender ) হ'ল সমাধান যা সার্ভার সাইড রেন্ডারিংয়ের সাথে জড়িত নয়। এটি মেটিওর থেকে লোড করা প্রাথমিক HTML সহ আপনার প্রথম পৃষ্ঠাটি রেন্ডার করার জন্য প্রয়োজনীয় ডেটা প্রেরণ করে, তাই জাভাস্ক্রিপ্ট ক্লায়েন্টে লোড হওয়ার ঠিক পরে পৃষ্ঠাটি রেন্ডার করা হয়। এটি সার্ভার সাইড রেন্ডারিং (এসএসআর) হিসাবে অভিন্ন ফলাফল দেয়, তবে তারপরে উল্কার কোনও মূল নীতি ভঙ্গ না করে তারের মাধ্যমে ডেটা প্রেরণ করে।
ম্যাক্স হজস

0

কোনও দলে কাজ করার সময়, সম্মুখ-প্রান্ত সম্ভবত তাদের পৃষ্ঠাগুলি স্থির এইচটিএমএল হিসাবে নকশা করা পছন্দ করে। স্থিতিশীল এইচটিএমএলকে গতিশীল টেম্পলেটগুলিতে অনুবাদ করা ত্রুটির উত্স, এবং জ্যাড যুক্ত করা যেমন অনুবাদ পদক্ষেপ যুক্ত করে।

অন্য অনেক হিসাবে, আমি সরলতার পক্ষে!

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