একটি $mol অ্যাপ নেটওয়ার্ক ছাড়াই কাজ করে যেতে পারে——একবার অনলাইনে খুলুন, আর অফলাইনে যাওয়ার পরও এটি ব্যবহারযোগ্য থাকে, এমনকি PWA হিসেবে ইনস্টল করা পর্যন্ত। এটি আসে একটি অন্তর্নির্মিত মডিউল mol/offline/install থেকে, এবং যেকোনো ডেটা স্তর থেকে স্বাধীন।
mol/offline/install$mol_offline চালায়, যা একটি service worker (web.js) কে ক্যাশিং প্রক্সি হিসেবে নিবন্ধন করে। একটি স্ট্যাটিক সম্পদের প্রতিটি সফল GET——অ্যাপ বান্ডল, স্টাইল, ছবি——$mol_offline নামের একটি ক্যাশে সংরক্ষিত হয়। পরবর্তী লোডে worker সেই রেসপন্সগুলো সরাসরি ক্যাশ থেকে দেয়, তাই অ্যাপ তাৎক্ষণিকভাবে খোলে এবং ক্যাশ করা কপিতে ফিরে গিয়ে একটি HTTP ত্রুটি বা বিচ্ছিন্ন সংযোগ সামলে নেয়। যেহেতু পুরো অ্যাপটি ক্যাশযোগ্য ও এভাবে পরিবেশিত, ব্রাউজার এটি PWA হিসেবে ইনস্টল করার প্রস্তাব দিতে পারে।
আপনার অ্যাপের *.meta.tree-এ একটি লাইন যোগ করুন:1include \/mol/offline/installএই বাধ্যতামূলক include মডিউলটিকে বান্ডলে টেনে আনে, ফলে এর service worker একটি পার্শ্বপ্রতিক্রিয়া হিসেবে নিবন্ধিত হয়——অন্য কোনো কোডের এটিকে রেফারেন্স করার দরকার নেই। include কীভাবে কাজ করে তা জানতে মডিউল মেটাডেটা দেখুন।ব্রাউজারের দুটি রানটাইম প্রয়োজন:HTTPS-এ পরিবেশন করুন (বা ডেভেলপমেন্টে localhost)——নাহলে service worker চলতে অস্বীকার করে।অ্যাপটিকে ইনস্টলযোগ্য করতে একটি ওয়েব অ্যাপ manifest দিন।
অফলাইন ক্যাশিং একটি ক্লায়েন্টকে নেটওয়ার্ক ছাড়াই সচল রাখে। এটি ক্লায়েন্টের মধ্যে ডেটা সিঙ্ক করে না: কোয়েরি স্ট্রিং সহ অনুরোধ সরাসরি চলে যায়, আর GET ছাড়া অনুরোধ কখনো ক্যাশ হয় না। যখন একাধিক ক্লায়েন্ট বা ডিভাইসকে একই লাইভ, সম্পাদনযোগ্য ডেটা——দ্বন্দ্বমুক্ত মার্জ সহ——ভাগ করতে হয়, সেটি ভিন্ন একটি বিষয়, যা সামলায় আলাদা প্রকল্প Giper Baza।GitHub-এ এই পৃষ্ঠা সম্পাদনা করুনএটি কি সহায়ক ছিল?হ্যাঁনাপূর্ববর্তীমডিউল মেটাডেটাপরবর্তীগোস্ট ভিউএই পৃষ্ঠায়এটি কী করেকীভাবে চালু করবেনএটি যা *নয়*Type to search the documentation.