আমি অ্যাঙ্গুলার.জেএস-এর একজন নবাগত এবং এটি কীভাবে ব্যাকবোন.জেএস থেকে আলাদা তা বোঝার চেষ্টা করছি ... ব্যাকবোন ব্যবহার করার সময় আমরা আমাদের প্যাকেজগুলির নির্ভরতা ম্যানেজ করতাম। Angular.js এর সাথে কি একই বোঝা যায়?
আমি অ্যাঙ্গুলার.জেএস-এর একজন নবাগত এবং এটি কীভাবে ব্যাকবোন.জেএস থেকে আলাদা তা বোঝার চেষ্টা করছি ... ব্যাকবোন ব্যবহার করার সময় আমরা আমাদের প্যাকেজগুলির নির্ভরতা ম্যানেজ করতাম। Angular.js এর সাথে কি একই বোঝা যায়?
উত্তর:
হ্যাঁ এটির angular.js
পাশাপাশি require.js
আপনি require.js
উপাদানগুলিকে মডুলারিজ করতে ব্যবহার করতে পারেন তা বোঝা যায় ।
একটি বীজ প্রকল্প রয়েছে যা ব্যবহার করে both angular.js and require.js
।
আমার মনে হয় ওপি'র প্রশ্নটি যা সত্য তা আবার পুনঃস্থাপন করা:
যদি আমি মূলত কৌণিক 1.x তে একটি অ্যাপ্লিকেশন তৈরি করছি এবং (স্পষ্টভাবে) গ্রান্ট / গুলপ / ব্রকলি এবং বাভার / এনপিএম এর যুগে করছি এবং আমার আরও কয়েকটি অতিরিক্ত গ্রন্থাগার নির্ভরতা রয়েছে, তবে কি স্পষ্ট, নির্দিষ্ট যুক্ত করার দরকার আছে? বিনা প্রয়োজনে কৌণিক ব্যবহার করে আমি যা পাই তার থেকেও মূল্য?
অথবা, অন্য কোনও উপায় রাখুন:
" যদি আমার কাছে বেসিক স্ক্রিপ্ট-লোডিংয়ের অন্যান্য উপায় থাকে তবে ভ্যানিলা কৌণিকের কী বেসিক কৌণিক উপাদান-লোডিং কার্যকরভাবে পরিচালনা করার দরকার আছে? "
এবং আমি এর মুল উত্তরটি বিশ্বাস করি: "যদি না আপনি অন্য কিছু চালাচ্ছেন এবং / অথবা আপনি আরও আধুনিক, আরও আধুনিক সরঞ্জাম ব্যবহার করতে অক্ষম হন তবে না"।
শুরুতে পরিষ্কার হওয়া যাক: RequireJS একটি দুর্দান্ত সরঞ্জাম যা কিছু খুব গুরুত্বপূর্ণ সমস্যা সমাধান করে এবং আমাদের যে রাস্তায় চলতে শুরু করে তা আরও স্কেলযোগ্য, আরও পেশাদার জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনগুলির দিকে শুরু করে। গুরুত্বপূর্ণ বিষয় হচ্ছে, এটি প্রথমবারের মতো বহু মানুষ মডুলারাইজেশন এবং জিনিসকে বিশ্বব্যাপী সুযোগ ছাড়িয়ে যাওয়ার ধারণার মুখোমুখি হয়েছিল। সুতরাং, যদি আপনি একটি জাভাস্ক্রিপ্ট অ্যাপ্লিকেশন তৈরি করতে যা যা স্কেল করা প্রয়োজন, তবে প্রয়োজনীয়তা এবং এএমডি প্যাটার্নটি এটি করার জন্য খারাপ সরঞ্জাম নয়।
তবে, অ্যাঙ্গুলার সম্পর্কে এমন কোনও কিছুর প্রয়োজন রয়েছে যা প্রয়োজনীয়তা / এএমডিকে বিশেষত ভাল ফিট করে? না। প্রকৃতপক্ষে, কৌণিকটি আপনাকে তার নিজস্ব মডুলারাইজেশন এবং এনক্যাপসুলেশন প্যাটার্ন সরবরাহ করে, যা বিভিন্ন উপায়ে এএমডির মৌলিক মডুলারাইজেশন বৈশিষ্ট্যগুলিকে রিন্ডন্ড করে। এবং, এএমডি প্যাটার্নে কৌণিক মডিউলগুলি সংহত করা অসম্ভব নয়, তবে এটি কিছুটা ... চতুর। আপনি অবশ্যই নিখুঁতভাবে সংহত করার জন্য দুটি প্যাটার্ন পেতে সময় ব্যয় করবেন।
কৌণিক দল নিজেই থেকে কয়েকটি আঙ্গিক জন্য, সেখানে এই , ব্রায়ান ফোর্ড, কৌণিক Batarang লেখক এবং এখন কৌণিক কোর দলের সদস্য থেকে:
আমি AngularJS এর সাথে RequireJS ব্যবহার করার পরামর্শ দিচ্ছি না। যদিও এটি অবশ্যই সম্ভব, আমি এমন কোনও উদাহরণ দেখিনি যেখানে প্রযোজনায় জেএস প্রয়োজনে উপকারী ছিল।
সুতরাং, AngularJS এর খুব নির্দিষ্ট প্রশ্নে: কৌণিক এবং প্রয়োজন / এএমডি অরথোগোনাল হয় এবং জায়গায় ওভারল্যাপিং হয়। আপনি এগুলি একসাথে ব্যবহার করতে পারেন, তবে অ্যাঙ্গুলারের নিজেই প্রকৃতি / নিদর্শনগুলির সাথে বিশেষভাবে সম্পর্কিত কোনও কারণ নেই।
আমি বাওয়ার এবং এনপিএম এবং বিশেষত এনপিএম চেক করার পরামর্শ দিচ্ছি। আমি এই সরঞ্জামগুলির তুলনামূলক সুবিধা সম্পর্কে পবিত্র যুদ্ধ শুরু করার চেষ্টা করছি না start আমি কেবল বলতে চাই: সেই বিড়ালের ত্বকের অন্যান্য উপায় আছে এবং এই উপায়গুলি এএমডি / প্রয়োজনের চেয়েও ভাল হতে পারে। (ইএস 6 বা কমনজেএস মডিউলগুলির সাথে মিলিয়ে 2015-এর শেষের দিকে অবশ্যই তাদের আরও জনপ্রিয় গতি রয়েছে, বিশেষত এনপিএম related সম্পর্কিত এসও প্রশ্নটি দেখুন ))
লক্ষ করুন যে অলস-লোডিং এবং অলস-ডাউনলোডিং আলাদা। কৌণিকর অলস-লোডিংয়ের অর্থ এই নয় যে আপনি তাদের সার্ভার থেকে সরাসরি টানছেন। জাভাস্ক্রিপ্ট অটোমেশনের সাথে ইয়েমেন-স্টাইলের একটি অ্যাপ্লিকেশনটিতে আপনি সম্পূর্ণ শেবাংকে একক ফাইলে একত্রে এবং ক্ষুদ্র করে দিচ্ছেন। তারা উপস্থিত আছেন, তবে প্রয়োজনীয় না হওয়া পর্যন্ত মৃত্যুদণ্ড কার্যকর / তাত্ক্ষণিকভাবে চালিত হয় না। আপনি এই গতি এবং ব্যান্ডউইথ উন্নতিগুলি ব্যাপকভাবে করার মাধ্যমে পান, নির্দিষ্ট 20-লাইনের নিয়ামককে অলস-ডাউনলোড করা থেকে কোনও অভিযোগযুক্ত উন্নতিকে ছাড়িয়ে যান। প্রকৃতপক্ষে, সেই নিয়ামকের জন্য নষ্ট নেটওয়ার্কের বিলম্বিতা এবং সংক্রমণ ওভারহেডটি নিয়ামকের নিজের আকারের চেয়ে বৃহত্তরতার একটি ক্রম হতে চলেছে।
তবে আসুন আমরা আপনাকে অলস-ডাউনলোডের প্রয়োজন, সম্ভবত আপনার অ্যাপ্লিকেশনটির প্রায়শই ব্যবহৃত টুকরো যেমন অ্যাডমিন ইন্টারফেসের প্রয়োজন। এটি একটি খুব বৈধ মামলা। প্রয়োজন আপনার জন্য সত্যিই এটি করতে পারে। কিন্তু আছে এছাড়াও অনেক অন্যান্য , সম্ভাব্য আরো নমনীয় অপশন যে একই জিনিস সাধা। এবং কৌণিক 2.0 2.0 আমাদের জন্য রাউটারের অন্তর্নির্মিতভাবে দৃশ্যত এই যত্ন নেবে । ( বিশদ ।)
আমি কীভাবে আমার সমস্ত ডজন / শত শত স্ক্রিপ্ট ফাইলগুলি মেনুয়ালি সূচক html এ সংযুক্ত করার প্রয়োজন ছাড়াই লোড করতে পারি?
ইওমেনের জেনারেটর- কৌণিকের সাব-জেনারেটরগুলি দেখুন, বা জেনারেটর- গাল্প-কৌণিকের সাথে সংযুক্ত অটোমেশন নিদর্শনগুলিতে বা প্রতিক্রিয়াটির জন্য স্ট্যান্ডার্ড ওয়েবপ্যাক অটোমেশনটিতে দেখুন। এগুলি আপনাকে একটি পরিষ্কার, স্কেলযোগ্য উপায় সরবরাহ করে: উপাদানগুলি স্ক্যাফলড হওয়ার সময় স্বয়ংক্রিয়ভাবে ফাইলগুলি সংযুক্ত করুন বা নির্দিষ্ট ফোল্ডারে উপস্থিত থাকলে / নির্দিষ্ট গ্লোব-নিদর্শনগুলির সাথে মেলে তবে কেবল সেগুলি স্বয়ংক্রিয়ভাবে গ্রাস করুন। পরবর্তী বিকল্পগুলি পেয়ে গেলে আপনাকে আর কখনও নিজের স্ক্রিপ্ট-লোডিংয়ের কথা ভাবার দরকার নেই।
প্রয়োজনীয় কিছু জিনিসগুলির জন্য দুর্দান্ত সরঞ্জাম। তবে যখনই সম্ভব শস্যের সাথে যান, এবং যখনই সম্ভব আপনার উদ্বেগগুলি আলাদা করুন। কৌণিককে অ্যাংুলারের নিজস্ব মডুলারাইজেশন প্যাটার্ন সম্পর্কে উদ্বিগ্ন হতে দিন এবং ES6 মডিউল বা কমন জেএসকে সাধারণ মডুলারাইজেশন প্যাটার্ন হিসাবে ব্যবহার করার বিষয়টি বিবেচনা করুন। আধুনিক অটোমেশন সরঞ্জামগুলিকে স্ক্রিপ্ট-লোডিং এবং নির্ভরতা-পরিচালনা সম্পর্কে উদ্বিগ্ন হতে দিন। এবং অন্যান্য দুটি উদ্বেগের সাথে জড়িত হওয়ার পরিবর্তে দানাদার উপায়ে অ্যাসাইক অলস-লোডিংয়ের যত্ন নিন।
এতে বলা হয়েছে, আপনি যদি কৌনিক অ্যাপ্লিকেশন বিকাশ করছেন তবে জাভাস্ক্রিপ্ট অটোমেশন সরঞ্জামগুলি কোনও কারণে ব্যবহার করার জন্য আপনার মেশিনে নোড ইনস্টল করতে না পারেন, তবে প্রয়োজনীয় বিকল্প একটি ভাল সমাধান হতে পারে। এবং আমি সত্যিই বিস্তৃত সেটআপগুলি দেখেছি যেখানে লোকেরা কৌণিক উপাদানগুলিকে গতিশীলভাবে লোড করতে চায় যা প্রতিটি তাদের নিজস্ব নির্ভরতা বা কিছু ঘোষণা করে। এবং আমি সম্ভবত সেই সমস্যাটিকে অন্যভাবে সমাধান করার চেষ্টা করব, আমি সেই বিশেষ পরিস্থিতির জন্য ধারণার গুণাবলী দেখতে পাচ্ছি।
তবে অন্যথায় ... একটি নতুন কৌণিক অ্যাপ্লিকেশন এবং একটি আধুনিক অটোমেশন পরিবেশ তৈরি করার নমনীয়তার সাথে স্ক্র্যাচ থেকে শুরু করার সময় ... আপনি প্রচুর অন্যান্য, আরও নমনীয়, আরও আধুনিক বিকল্প পেয়েছেন।
(বিকশিত জেএস দৃশ্যের সাথে তাল মিলিয়ে চলতে বারবার আপডেট করা হয়েছে))
হ্যাঁ, এটা বোঝা যায়।
কৌণিক মডিউলগুলি স্ক্রিপ্ট লোড ক্রম বা অলস স্ক্রিপ্ট আনার সমস্যাটি সমাধান করার চেষ্টা করবেন না। এই লক্ষ্যগুলি অরথোগোনাল এবং উভয় মডিউল সিস্টেম পাশাপাশি থাকতে পারে এবং তাদের লক্ষ্যগুলি পূরণ করতে পারে।
এটি আমি বিশ্বাস করি এটি একটি বিষয়গত প্রশ্ন, তাই আমি আমার বিষয়গত মতামত প্রদান করব।
কৌণিকটিতে একটি মডুলারাইজেশন মেকানিজম অন্তর্নির্মিত রয়েছে app আপনি যখন নিজের অ্যাপটি তৈরি করেন, প্রথম কাজটি আপনি করেন
var app = angular.module("myApp");
এবং তারপর
app.directive(...);
app.controller(...);
app.service(...);
যদি আপনার কৌণিক-বীজের দিকে নজর থাকে যা কৌণিকের জন্য ঝরঝরে স্টার্টার অ্যাপ্লিকেশন, তারা নির্দেশাবলী, পরিষেবাগুলি, নিয়ন্ত্রণকারীগণকে আলাদা আলাদা আলাদা আলাদা মডিগুলিতে আলাদা করে ফেলেছে এবং তারপরে আপনার মূল অ্যাপ্লিকেশনে নির্ভরতা হিসাবে এই মডিউলগুলি লোড করেছে।
কিছুটা এইরকম :
var app = angular.module("myApp",["Directives","Controllers","Services"];
কৌণিক এছাড়াও অলস এই মডিউলগুলি লোড করে (মেমোরিতে) তাদের স্ক্রিপ্ট ফাইলগুলি নয়।
অলস লোডিং স্ক্রিপ্ট ফাইলগুলির ক্ষেত্রে, আপনি যদি খুব বড় কিছু না লিখে থাকেন তা স্পষ্ট করে বললে এটি ওভারকিল হবে কারণ কৌণিক স্বভাবের কারণে এটি আপনার কোডের কোডের পরিমাণ কমিয়ে দেয়। বেশিরভাগ অন্যান্য ফ্রেমওয়ার্কগুলিতে লেখা একটি সাধারণ অ্যাপ্লিকেশনটি কৌণিকভাবে লিখিত থাকলে LOC- এ প্রায় 30-50% হ্রাস আশা করতে পারে।
অ্যাঙ্গুলারজেএস এর সাথে রিকোয়ারজেজেএস ব্যবহার করা অর্থবোধ করে তবে কেবল যদি আপনি বুঝতে পারেন যে তাদের প্রত্যেকটি নির্ভরতা ইনজেকশন সম্পর্কিত কীভাবে কাজ করে , যদিও উভয়ই নির্ভরতা ইনজেকশনের পরেও তারা খুব আলাদা জিনিস ইনজেক্ট করে।
অ্যাঙ্গুলারজেএস এর নিজস্ব নির্ভরতা সিস্টেম রয়েছে যা আপনাকে বাস্তবায়নের পুনরায় ব্যবহার করতে একটি নতুন নির্মিত মডিউলটিতে অ্যাঙ্গুলারজেএস মডিউলগুলি ইনজেক্ট করতে দেয়। ধরা যাক আপনি একটি "প্রথম" মডিউল তৈরি করেছেন যা একটি কৌণিক জেএস ফিল্টার "অভিবাদন" প্রয়োগ করে:
angular
.module('first', [])
.filter('greet', function() {
return function(name) {
return 'Hello, ' + name + '!';
}
});
এবং এখন আসুন আমরা বলি যে আপনি "সেকেন্ড" নামে একটি অন্য মডিউলে "শুভেচ্ছা" ফিল্টারটি ব্যবহার করতে চান যা "বিদায়" ফিল্টারটি প্রয়োগ করে। আপনি "দ্বিতীয়" মডিউলটিতে "প্রথম" মডিউলটি ইনজেকশন করতে পারেন:
angular
.module('second', ['first'])
.filter('goodbye', function() {
return function(name) {
return 'Good bye, ' + name + '!';
}
});
জিনিসটি হ'ল প্রয়োজনীয়তা জেএস ছাড়াই এই কাজটি সঠিকভাবে করার জন্য আপনাকে "দ্বিতীয়" অ্যাঙ্গুলারজেএস মডিউলটি তৈরি করার আগে নিশ্চিত করতে হবে যে "প্রথম" অ্যাঙ্গুলারজেএস মডিউলটি পৃষ্ঠায় লোড হয়েছে। ডকুমেন্টেশন উদ্ধৃত:
মডিউলের উপর নির্ভর করে বোঝানো হয় যে প্রয়োজনীয় মডিউলটি লোড হওয়ার আগে প্রয়োজনীয় মডিউলটি লোড করা দরকার।
সেই অর্থে, এখানে প্রয়োজনীয়তা জেএস আপনাকে সহায়তা করতে পারে যেখানে প্রয়োজনীয় জেএস আপনাকে একে অপরের মধ্যে স্ক্রিপ্ট নির্ভরতাগুলি সংগঠিত করতে সহায়তা করে পৃষ্ঠায় স্ক্রিপ্টগুলি ইনজেক্ট করার একটি পরিষ্কার উপায় সরবরাহ করে।
"প্রথম" এবং "দ্বিতীয়" অ্যাঙ্গুলারজেএস মডিউলগুলিতে ফিরে যাওয়া, এখানে স্ক্রিপ নির্ভরতা লোডিংয়ের জন্য বিভিন্ন ফাইলগুলিতে মডিউলগুলি পৃথক করে প্রয়োজনীয় জেএস ব্যবহার করে আপনি এটি করতে পারেন:
// firstModule.js file
define(['angular'], function(angular) {
angular
.module('first', [])
.filter('greet', function() {
return function(name) {
return 'Hello, ' + name + '!';
}
});
});
// secondModule.js file
define(['angular', 'firstModule'], function(angular) {
angular
.module('second', ['first'])
.filter('goodbye', function() {
return function(name) {
return 'Good bye, ' + name + '!';
}
});
});
আপনি দেখতে পাচ্ছেন যে আমরা প্রয়োজনীয় জেএস কলব্যাকের সামগ্রীটি কার্যকর করার আগে ইনজেকশনের জন্য "ফার্স্টমডুল" ফাইলের উপর নির্ভরশীল যা "দ্বিতীয়" অ্যাঙ্গুলারজেএস মডিউলটি তৈরি করতে "প্রথম" অ্যাঙ্গুলারজেএস মডিউলটি লোড করা দরকার।
পার্শ্ব দ্রষ্টব্য: "ফার্স্টমডিউল" এবং "সেকেন্ডমোডুল" ফাইলগুলিতে নির্ভরতা হিসাবে "কৌণিক" ইনজেকশনের জন্য প্রয়োজনীয় জেএস কলব্যাক ফাংশনের ভিতরে অ্যাংুলারজেএস ব্যবহার করার প্রয়োজন হয় এবং এটি লাইব্রেরি কোডটিতে "কৌণিক" মানচিত্রের জন্য প্রয়োজনীয় জেএস কনফিগারেশনে কনফিগার করা উচিত। আপনার অ্যাংুলারজেএস পেজে প্রচলিত পদ্ধতিতে খুব ভারে চাপিয়ে দিতে পারে (স্ক্রিপ্ট ট্যাগ) যদিও প্রয়োজনীয় জেএস সুবিধাগুলি পরাস্ত করে।
আমার ব্লগ পোস্টের ২.০ সংস্করণ থেকে অ্যাংুলারজেএস কোরের কাছ থেকে জেএসপি সহায়তা পাওয়ার বিষয়ে আরও বিশদ।
আমার ব্লগ পোস্টের ভিত্তিতে "অ্যাঙ্গুলারজেএসের সাথে প্রয়োজনীয়তা জেএসের বোধ তৈরি করা" এর লিঙ্কটি এখানে দেওয়া হয়েছে ।
@Ganaraj হিসাবে উল্লেখ করা হয়েছে যে AngularJS এর মূল অংশে নির্ভরতা ইঞ্জেকশন রয়েছে। প্রয়োজনীয় জেএস সাথে বা ছাড়াই খেলনা বীজ অ্যাপ্লিকেশনগুলি তৈরি করার সময়, আমি ব্যক্তিগতভাবে দেখতে পেয়েছি যে প্রয়োজনীয় ব্যবহারগুলি বেশিরভাগ ক্ষেত্রে ব্যবহারযোগ্য ক্ষেত্রে ওভারকিল ছিল।
এর অর্থ এই নয় যে এটির স্ক্রিপ্ট লোড করার ক্ষমতা এবং বিকাশের সময় আপনার কোডবেস পরিষ্কার রাখার জন্য প্রয়োজনীয় জেএস কার্যকর নয়। R.js অপটিমাইজার (মিশ্রন https://github.com/jrburke/r.js বাদাম (সঙ্গে) https://github.com/jrburke/almond ) একটি খুব পাতলা স্ক্রিপ্ট লোড গল্প তৈরি করতে পারেন। তবে যেহেতু এটির নির্ভরতা পরিচালনার বৈশিষ্ট্যগুলি আপনার অ্যাপ্লিকেশনটির মূলটিতে কৌণিকের সাথে অতটা গুরুত্বপূর্ণ নয়, আপনি অন্যান্য ক্লায়েন্টের দিক (হেডজেএস, ল্যাবজ, ...) বা এমনকি সার্ভার সাইড (এমভিসি 4 বান্ডলার, ...) স্ক্রিপ্ট লোডিং সমাধানগুলিও মূল্যায়ন করতে পারেন since আপনার বিশেষ অ্যাপ্লিকেশন জন্য।
হ্যাঁ, এটি বিশেষত খুব বড় এসপিএর জন্য।
কিছু পরিস্থিতিতে, RequireJS একটি আবশ্যক। উদাহরণস্বরূপ, আমি অ্যাঙ্গুলারজেএস ব্যবহার করে ফোনগ্যাপ অ্যাপ্লিকেশনগুলি বিকাশ করি যা গুগল ম্যাপ এপিআইও ব্যবহার করে। প্রয়োজনীয় জেএস-এর মতো এএমডি লোডার ছাড়া, অ্যাপ্লিকেশনটি অফলাইনে থাকা অবস্থায় লঞ্চ করার সময় কেবল ক্র্যাশ হয়ে যায় কারণ এটি Google মানচিত্র এপিআই স্ক্রিপ্টগুলি উত্স করতে পারে না। একটি এএমডি লোডার আমাকে ব্যবহারকারীকে ত্রুটি বার্তা প্রদর্শন করার সুযোগ দেয় gives
তবে, AngularJS এবং RequireJS এর মধ্যে সংহতকরণ কিছুটা জটিল। এটিকে একটি কম বেদনাদায়ক প্রক্রিয়া করার জন্য আমি কৌণিক এএএমডি তৈরি করেছি:
সংক্ষিপ্ত উত্তরটি, এটি বোধগম্য হয়। সম্প্রতি এটি এনজি-কনফিডে ২০১৪-তে আলোচিত হয়েছিল this এই বিষয়ে এখানে আলোচনা হচ্ছে:
আপনি অলস লোডিং কন্ট্রোলার এবং নির্দেশিকা ইত্যাদির উপর পরিকল্পনা করেন, তবে অল্প অলস লোডিংয়ের জন্য একাধিক অলস নির্ভরতা একক স্ক্রিপ্ট ফাইলগুলিতে সংযুক্ত করার সময় এটি কৌণিক জালগুলির সাথে প্রয়োজনীয় ব্যবহারগুলি বোধগম্য হয়। প্রয়োজনীয় জেএস এর একটি অপ্টিমাইজেশন সরঞ্জাম রয়েছে যা সংমিশ্রণটিকে সহজ করে তোলে। Http://ify.io/using-requirejs-with-optimisation-for-lazy-loading-angularjs-artefacts// দেখুন
হ্যাঁ এঙ্গুলার সহ প্রয়োজনীয় জেএস ব্যবহার করা বোধগম্য, বেশ কয়েকটি প্রযুক্তিগত সমাধান পরীক্ষার জন্য আমি বেশ কয়েক দিন ব্যয় করেছি।
আমি সার্ভার সাইডে প্রয়োজনীয় জেএস দিয়ে একটি কৌণিক বীজ তৈরি করেছি। খুব সাধারণ একটি। আমি কোনও এএমডি মডিউল এবং এএমডি নয় শিম সংকেত ব্যবহার করি কারণ আমার মনে হয় দুটি ভিন্ন নির্ভরশীল ইনজেকশন সিস্টেমের সাথে মোকাবিলা করা খুব কঠিন।
সার্ভারে জেএস ফাইলগুলি সংযুক্ত করতে আমি গ্রান্ট এবং আর.জেএস ব্যবহার করি শিম কনফিগারেশন (নির্ভরতা) ফাইলের উপর নির্ভর করে। সুতরাং আমি আমার অ্যাপ্লিকেশনটিতে কেবল একটি জেএস ফাইল উল্লেখ করি।
আরও তথ্যের জন্য আমার গিথুব কৌণিক বীজে যান: https://github.com/matohawk/angular-seed-requirejs
আমি Require.js ব্যবহার এড়াতে চাই। আমি যে অ্যাপ্লিকেশনগুলি দেখেছি সেগুলি একাধিক ধরণের মডিউল প্যাটার্ন আর্কিটেকচারের গোলমাল সৃষ্টি করে। এএমডি, প্রকাশক, IIFE বিভিন্ন স্বাদে, ইত্যাদি মত চাহিদা লোড অন্যান্য উপায় আছে loadOnDemand কৌণিক গেলিক ভাষার । অন্যান্য স্টাফ যুক্ত করা কেবল আপনার কোডটি পূর্ণ ক্রাফ্টে পূর্ণ করে এবং শব্দের অনুপাতের একটি কম সংকেত তৈরি করে এবং আপনার কোডটি পড়তে শক্ত করে তোলে।
আমি যে পদ্ধতিটি ব্যবহার করছি তা এখানে: http://thaiat.github.io/blog/2014/02/26/angularjs-and-requirejs- for-very-large-applications/
পৃষ্ঠাটি AngularJS + RequireJS এর একটি সম্ভাব্য বাস্তবায়ন দেখায়, যেখানে কোডটি বৈশিষ্ট্য এবং তারপরে উপাদান ধরণের দ্বারা বিভক্ত করা হয়।
ব্রায়ান ফোর্ডের কাছ থেকে উত্তর
অ্যাঙ্গুলারজেএস এর নিজস্ব মডিউল সিস্টেম রয়েছে সাধারণত একটি আরজেএসের মতো কিছু প্রয়োজন হয় না।
তথ্যসূত্র: https://github.com/yeoman/generator-angular/issues/40
আমি মনে করি যে এটি আপনার প্রকল্পের জটিলতার উপর নির্ভর করে যেহেতু কৌণিকটি বেশ পরিমাণে মডিউলাইজড। আপনার নিয়ন্ত্রকরা ম্যাপ করা যায় এবং আপনি কেবলমাত্র আপনার সূচি। Html পৃষ্ঠায় সেই জাভাস্ক্রিপ্ট ক্লাস আমদানি করতে পারেন।
তবে আপনার প্রকল্পটি বড় হওয়ার ক্ষেত্রে। বা আপনি যেমন দৃশ্যের পূর্বাভাস দেন, আপনার প্রয়োজনের সাথে কৌনিক একীকরণ করা উচিত। ইন এই নিবন্ধ আপনি এই ধরনের ইন্টিগ্রেশন জন্য একটি ডেমো অ্যাপ্লিকেশন দেখতে পারেন।