Vivasoft-logo

প্যাকেজের ব্যাবহার

এখন দেখব কিভাবে এটি ব্যবহার করা যায়। একটি প্যাকেজ ব্যবহার করতে, নিম্নলিখিত বিষয়গুলি অনুসরণ করতে হবে :

১। একটি pubspec তৈরি করি ( pubspec.yaml নামের একটি ফাইল যা প্যাকেজ ডেপেন্ডেনসি তালিকাভুক্ত করে এবং অন্যান্য মেটাডেটা অন্তর্ভুক্ত করে, যেমন একটি version number)।
২। প্যাকেজের ডেপেন্ডেনসি পুনরুদ্ধার করতে dart pub get ব্যবহার করি ।
৩। যদি আপনার ডার্ট কোড প্যাকেজের একটি লাইব্রেরির উপর নির্ভর করে, তাহলে লাইব্রেরিটি ইমপোর্ট করি ।

pubspec ফাইল তৈরি

pubspec হল pubspec.yaml নামের একটি ফাইল যা অ্যাপ্লিকেশনের রুট ডিরেক্টরিতে থাকে । এই ফাইলটি প্যাকেজের মেটাডেটা এবং ডিপেন্ডেন্সিগুলির সম্পর্কে বর্ণনা করে। আপনি এটি ম্যানুয়ালি তৈরি করতে পারেন বা ডার্ট pub কমান্ড ব্যবহার করে একটি তৈরি করতে পারেন
কমপক্ষে একটি pubspec.yaml ফাইল এ প্যাকেজের নাম থাকতে হবে।

name: my_app
 

এখানে একটি pubspec এর একটি উদাহরণ যা pub.dev সাইটে হোস্ট করা দুটি প্যাকেজের (js এবং intl) উপর ডেপেন্ডেনসি ডেক্‌লার করে:

name: my_app

dependencies:
    js: ^0.6.0
    intl: ^0.17.0
 

pubspec.yaml ফাইল আপডেট করতে, ম্যানুয়াল এডিটিং ছাড়াই, আপনি dart pub add কমান্ড চালাতে পারেন। নিম্নলিখিত উদাহরণটি vector_math উপর ডেপেন্ডেনসি যোগ করে।

$dart pub add vector_math
Resolving dependencies...
+ vector_math 2.1.3
Downloading vector_math 2.1.3...
Changed 1 dependency!
 

প্যাকেজ ডাউনলোড করা

একবার আপনার একটি পাবস্পেক তৈরি হয়ে গেলে, আপনি আপনার অ্যাপ্লিকেশনের শীর্ষ ডিরেক্টরি থেকে ডার্ট পাব গেট চালাতে পারেন:

cd 
dart pub get
 

dart pub get কমান্ড আপনার অ্যাপ কোন প্যাকেজগুলির উপর নির্ভর করে তা নির্ধারণ করে এবং সেগুলিকে একটি কেন্দ্রীয় System cache এ রাখে। আপনার অ্যাপ যদি একটি প্রকাশিত প্যাকেজের উপর নির্ভর করে, তাহলে pub সেই প্যাকেজটি pub.dev সাইট থেকে ডাউনলোড করে। Pub একটি package_config.json ফাইল তৈরি করে (.dart_tool/ ডিরেক্টরির অধীনে) যা প্রতিটি প্যাকেজের নাম ম্যাপ করে যা আপনার অ্যাপ সিস্টেম ক্যাশে সংশ্লিষ্ট প্যাকেজের উপর নির্ভর করে।

প্যাকেজ থেকে লাইব্রেরি ইম্পোর্ট করা

প্যাকেজের ভেতরে থাকা লাইব্রেরিগুলো ইম্পোর্ট করতে package: প্রিফিক্স ব্যবহার করুন।

import 'package:js/js.dart' as js;
import 'package:intl/intl.dart';
 

ডার্ট রানটাইম package: এর পরে সবকিছু নেয় এবং এটি আপনার অ্যাপের জন্য package_config.json এ উক্ত লাইব্রেরিটি খুঁজে বের করে । উপরের প্রথম উদাহরণতিতে import ‘package:js/js.dart’ as js; লাইব্রেরি ইম্পোর্ট js এলিয়াসে আসাইন করা হয়েছে। অতএব লাইব্রেরির সব পাব্লিক প্রপার্টি এবং মেথড js দিয়ে আক্সেস করা যাবে ।

আপগ্রেডিং প্যাকেজ

প্রথমবার যখন আপনি আপনার প্যাকেজের জন্য একটি নতুন ডেপেন্ডেনসি যোগ করেন, তখন pub এটির সর্বশেষ ভার্শনটি ডাউনলোড করে যা আপনার অন্যান্য ডেপেন্ডেনসির সাথে সামঞ্জস্যপূর্ণ। এটি তারপর একটি লক ফাইল তৈরি করে সর্বদা সেই ভার্শনটি ব্যবহার করার জন্য আপনার প্যাকেজটিকে লক করে। এটি pubspec.lock নামের একটি ফাইল যা পাব তৈরি করে এবং আপনার pubspec.yaml ফাইল এর পাশে তৈরি করে। এটি আপনার প্যাকেজ ব্যবহার করে প্রতিটি ডেপেন্ডেনসির (ইমিডিয়েট এবং ট্রানজিটিভ) নির্দিষ্ট ভার্শনটিগুলি তালিকাভুক্ত করে।