প্রয়োজনীয় জেএস এএমডি এপিআই প্রয়োগ করে (উত্স) ।
কমনজেএস হ'ল একটি exports
বস্তুর সাহায্যে মডিউলগুলি সংজ্ঞায়িত করার একটি উপায় যা মডিউলের বিষয়বস্তুকে সংজ্ঞায়িত করে। সোজা কথায়, একটি কমন জেএস বাস্তবায়ন এ জাতীয়ভাবে কাজ করতে পারে:
// someModule.js
exports.doSomething = function() { return "foo"; };
//otherModule.js
var someModule = require('someModule'); // in the vein of node
exports.doSomethingElse = function() { return someModule.doSomething() + "bar"; };
মূলত, কমনজেএস উল্লেখ করে যে আপনার require()
নির্ভরতা আনার জন্য একটি ফাংশন থাকতে হবে, exports
মডিউল সামগ্রীগুলি রফতানি করার জন্য একটি পরিবর্তনশীল এবং একটি মডিউল শনাক্তকারী (যা এই মডিউলটির সাথে সম্পর্কিত মডিউলের অবস্থান বর্ণনা করে) যা নির্ভরতা ( উত্স উত্সের প্রয়োজন) ব্যবহার করার জন্য ব্যবহৃত হয় )। কমনজেএসে নোড.জেএস সহ বিভিন্ন বাস্তবায়ন রয়েছে , যা আপনি উল্লেখ করেছেন।
কমনজেএস বিশেষত ব্রাউজারগুলিকে মাথায় রেখে তৈরি করা হয়নি, সুতরাং এটি ব্রাউজারের পরিবেশে খুব ভালভাবে খাপ খায় না ( এটির সত্যিকার অর্থে আমার কোনও উত্স নেই - এটি কেবল প্রয়োজন জেএসএস সাইট সহ সর্বত্র বলেছে । ) স্পষ্টতই, এর কিছু আছে অ্যাসিনক্রোনাস লোডিং ইত্যাদির সাহায্য করুন do
অন্যদিকে, প্রয়োজনীয় জেএস এএমডি প্রয়োগ করে, যা ব্রাউজার পরিবেশের ( উত্স ) অনুসারে ডিজাইন করা হয়েছে । স্পষ্টতই, এএমডি কমনজেএস ট্রান্সপোর্ট ফর্ম্যাটটির একটি স্পিন অফ হিসাবে শুরু হয়েছিল এবং তার নিজস্ব মডিউল সংজ্ঞা এপিআইতে রূপান্তরিত হয়েছিল। তাই দুজনের মধ্যে মিল রয়েছে। এএমডিতে নতুন বৈশিষ্ট্যটি হ'ল define()
ফাংশন যা মডিউলটি বোঝা হওয়ার আগে তার নির্ভরতা ঘোষণা করতে দেয়। উদাহরণস্বরূপ, সংজ্ঞাটি হতে পারে:
define('module/id/string', ['module', 'dependency', 'array'],
function(module, factory function) {
return ModuleContents;
});
সুতরাং, কমনজেএস এবং এএমডি হ'ল জাভাস্ক্রিপ্ট মডিউল সংজ্ঞা সংস্থাগুলি যার বিভিন্ন প্রয়োগ রয়েছে, তবে উভয়ই একই উত্স থেকে এসেছে।
- এএমডি ব্রাউজারের জন্য আরও উপযুক্ত, কারণ এটি মডিউল নির্ভরতাগুলির অ্যাসিনক্রোনাস লোডিং সমর্থন করে।
- RequireJS হ'ল AMD এর একটি বাস্তবায়ন, একই সময়ে একই সাথে কমনজেএসের স্পিরিট রাখার চেষ্টা করা হয় (মূলত মডিউল শনাক্তকারীদের মধ্যে)।
আপনাকে আরও বিভ্রান্ত করার জন্য, প্রয়োজনীয় জেএস, এএমডি বাস্তবায়নকালে, একটি কমনজেএস মোড়ক সরবরাহ করে যাতে সাধারণ জেএস মডিউলগুলি প্রায়শই সরাসরি প্রয়োজনের সাথে ব্যবহারের জন্য আমদানি করতে পারে।
define(function(require, exports, module) {
var someModule = require('someModule'); // in the vein of node
exports.doSomethingElse = function() { return someModule.doSomething() + "bar"; };
});
আমি আশা করি এটি বিষয়গুলি পরিষ্কার করতে সহায়তা করে!