npm
npm সাধারণত Node.js মডিউল ম্যানেজ করতে ব্যবহৃত হয় এবং নেস্টেড ডিপেনডেন্সি ট্রি করে। এটি ফ্রন্ট-এন্ডের জন্যও কাজ করে এবং Grunt, CoffeeScript-এর মতো ডেভেলপার টুলসের জন্যও ব্যবহৃত হয়।
নেস্টেড ডিপেনডেন্সি ছাড়া ডিপেনডেন্সি কনফ্লিক্ট এড়ানো কঠিন। তাই npm ব্যবহার ফলপ্রসূ。
Node-এ আপনি যা যোগ করেন তা মডিউল হিসেবে স্ট্রাকচারড হয়। ব্রাউজার-সাইড ডিপেনডেন্সির জন্য NPM ব্যবহার করলে আপনার কোড Node-এর মতো স্ট্রাকচার হবে।
ডিপেনডেন্সি স্ট্রাকচার:
project root [node_modules] -> dependency P -> dependency Q [node_modules] -> dependency P -> dependency R [node_modules] -> dependency Q [node_modules] -> dependency P -> dependency S
Bower
Bower ফ্ল্যাট ডিপেনডেন্সি ট্রি দাবি করে এবং ফ্রন্ট-এন্ডের জন্য ব্যবহৃত হয়। এটি ফ্রন্ট-এন্ড প্যাকেজের জন্য উপযোগী।
এটি সাদা জাভাস্ক্রিপ্ট ফাইল লোড করে যেমন <head> ট্যাগে <script>…</script> যোগ করা।
এটি ফ্রন্ট-এন্ডের জন্য অপ্টিমাইজড এবং ফ্ল্যাট ডিপেনডেন্সি ট্রি ব্যবহার করে, যেহেতু প্রতিটি প্যাকেজের জন্য শুধু একটি ভার্সন দরকার। এটি একে ন্যূনতম পেজ লোডে আনে।
নোট: Bower এখন ডিপ্রিকেটেড।
ডিপেনডেন্সি স্ট্রাকচার:
project root [bower_components] -> dependency P -> dependency Q // wants P -> dependency R // wants Q and R -> dependency S