workbox-build
মডিউলটি একটি নোড-ভিত্তিক বিল্ড প্রক্রিয়ার মধ্যে একীভূত হয় এবং একটি সম্পূর্ণ পরিষেবা কর্মী তৈরি করতে পারে, অথবা শুধুমাত্র প্রিক্যাশে সম্পদের একটি তালিকা তৈরি করতে পারে যা একটি বিদ্যমান পরিষেবা কর্মীর মধ্যে ব্যবহার করা যেতে পারে।
বেশিরভাগ বিকাশকারীরা যে দুটি মোড ব্যবহার করবে তা হল generateSW
এবং injectManifest
। নিম্নলিখিত প্রশ্নের উত্তর আপনাকে সঠিক মোড এবং ব্যবহার করার জন্য কনফিগারেশন চয়ন করতে সাহায্য করতে পারে।
কোন মোড ব্যবহার করতে হবে
generateSW
generateSW
মোড আপনার জন্য একটি পরিষেবা কর্মী ফাইল তৈরি করে, কনফিগারেশন বিকল্পগুলির মাধ্যমে কাস্টমাইজ করা হয় এবং এটি ডিস্কে লিখে দেয়।
কখন generateSW
ব্যবহার করবেন
- আপনি ফাইল precache করতে চান.
- আপনার সহজ রানটাইম ক্যাশিং প্রয়োজন আছে।
কখন generateSW
ব্যবহার করবেন না
- আপনি অন্যান্য পরিষেবা কর্মী বৈশিষ্ট্যগুলি (যেমন ওয়েব পুশ ) ব্যবহার করতে চান।
- আপনি অতিরিক্ত স্ক্রিপ্ট আমদানি করতে চান, বা কাস্টম ক্যাশিং কৌশলগুলির জন্য অতিরিক্ত যুক্তি যোগ করতে চান।
injectManifest
injectManifest
মোড precache করার জন্য URL-এর একটি তালিকা তৈরি করবে এবং সেই precache ম্যানিফেস্টটিকে একটি বিদ্যমান পরিষেবা কর্মী ফাইলে যুক্ত করবে। এটি অন্যথায় ফাইলটিকে যেমন-ই রেখে দেবে।
কখন injectManifest
ব্যবহার করবেন
- আপনি আপনার সেবা কর্মীর উপর আরো নিয়ন্ত্রণ চান.
- আপনি ফাইল precache করতে চান.
- আপনাকে রাউটিং এবং কৌশলগুলি কাস্টমাইজ করতে হবে।
- আপনি আপনার পরিষেবা কর্মীকে অন্যান্য প্ল্যাটফর্ম বৈশিষ্ট্যগুলির সাথে ব্যবহার করতে চান (যেমন ওয়েব পুশ )।
যখন injectManifest
ব্যবহার করবেন না
- আপনি আপনার সাইটে একটি পরিষেবা কর্মী যোগ করার সবচেয়ে সহজ পথ চান.
এসডব্লিউ মোড generateSW
আপনি নোড-ভিত্তিক বিল্ড স্ক্রিপ্টের মধ্যে generateSW
মোড ব্যবহার করতে পারেন, সবচেয়ে সাধারণ কনফিগারেশন বিকল্পগুলি ব্যবহার করে, যেমন:
// Inside of build.js:
const {generateSW} = require('workbox-build');
// These are some common options, and not all are required.
// Consult the docs for more info.
generateSW({
dontCacheBustURLsMatching: [new RegExp('...')],
globDirectory: '...',
globPatterns: ['...', '...'],
maximumFileSizeToCacheInBytes: ...,
navigateFallback: '...',
runtimeCaching: [{
// Routing via a matchCallback function:
urlPattern: ({request, url}) => ...,
handler: '...',
options: {
cacheName: '...',
expiration: {
maxEntries: ...,
},
},
}, {
// Routing via a RegExp:
urlPattern: new RegExp('...'),
handler: '...',
options: {
cacheName: '...',
plugins: [..., ...],
},
}],
skipWaiting: ...,
swDest: '...',
}).then(({count, size, warnings}) => {
if (warnings.length > 0) {
console.warn(
'Warnings encountered while generating a service worker:',
warnings.join('\n')
);
}
console.log(`Generated a service worker, which will precache ${count} files, totaling ${size} bytes.`);
});
এটি আপনার কনফিগারেশন দ্বারা বাছাই করা সমস্ত ফাইলের জন্য প্রিক্যাচিং সেটআপ সহ একটি পরিষেবা কর্মী তৈরি করবে, এবং রানটাইম ক্যাশিং নিয়ম সরবরাহ করবে।
কনফিগারেশন বিকল্পগুলির একটি সম্পূর্ণ সেট রেফারেন্স ডকুমেন্টেশনে পাওয়া যাবে।
injectManifest
মোড
আপনি একটি নোড-ভিত্তিক বিল্ড স্ক্রিপ্টের মধ্যে injectManifest
মোড ব্যবহার করতে পারেন, সবচেয়ে সাধারণ কনফিগারেশন বিকল্পগুলি ব্যবহার করে, যেমন:
// Inside of build.js:
const {injectManifest} = require('workbox-build');
// These are some common options, and not all are required.
// Consult the docs for more info.
injectManifest({
dontCacheBustURLsMatching: [new RegExp('...')],
globDirectory: '...',
globPatterns: ['...', '...'],
maximumFileSizeToCacheInBytes: ...,
swDest: '...',
swSrc: '...',
}).then(({count, size, warnings}) => {
if (warnings.length > 0) {
console.warn(
'Warnings encountered while injecting the manifest:',
warnings.join('\n')
);
}
console.log(`Injected a manifest which will precache ${count} files, totaling ${size} bytes.`);
});
এটি আপনার কনফিগারেশন দ্বারা বাছাই করা ফাইলগুলির উপর ভিত্তি করে একটি প্রিক্যাশ ম্যানিফেস্ট তৈরি করবে এবং এটি আপনার বিদ্যমান পরিষেবা কর্মী ফাইলে ইনজেক্ট করবে৷
কনফিগারেশন বিকল্পগুলির একটি সম্পূর্ণ সেট রেফারেন্স ডকুমেন্টেশনে পাওয়া যাবে।
অতিরিক্ত মোড
আমরা আশা করি যে generateSW
বা injectManifest
বেশিরভাগ ডেভেলপারদের প্রয়োজন অনুসারে হবে। যাইহোক, workbox-build
দ্বারা সমর্থিত অন্য একটি মোড রয়েছে যা নির্দিষ্ট ব্যবহারের ক্ষেত্রে উপযুক্ত হতে পারে।
getManifest
মোড
এটি ধারণাগতভাবে injectManifest
মোডের অনুরূপ, কিন্তু উত্স পরিষেবা কর্মী ফাইলে ম্যানিফেস্ট যোগ করার পরিবর্তে, এটি এন্ট্রির সংখ্যা এবং মোট আকার সম্পর্কে তথ্য সহ ম্যানিফেস্ট এন্ট্রিগুলির অ্যারে প্রদান করে৷
আপনি একটি নোড-ভিত্তিক বিল্ড স্ক্রিপ্টের মধ্যে injectManifest
মোড ব্যবহার করতে পারেন, সবচেয়ে সাধারণ কনফিগারেশন বিকল্পগুলি ব্যবহার করে, যেমন:
// Inside of build.js:
const {getManifest} = require('workbox-build');
// These are some common options, and not all are required.
// Consult the docs for more info.
getManifest({
dontCacheBustURLsMatching: [new RegExp('...')],
globDirectory: '...',
globPatterns: ['...', '...'],
maximumFileSizeToCacheInBytes: ...,
}).then(({manifestEntries, count, size, warnings}) => {
if (warnings.length > 0) {
console.warn(
'Warnings encountered while getting the manifest:',
warnings.join('\n')
);
}
// Do something with the manifestEntries, and potentially log count and size.
});
কনফিগারেশন বিকল্পগুলির একটি সম্পূর্ণ সেট রেফারেন্স ডকুমেন্টেশনে পাওয়া যাবে।
প্রকারভেদ
BasePartial
বৈশিষ্ট্য
- অতিরিক্ত ম্যানিফেস্ট এন্ট্রি
(স্ট্রিং | ম্যানিফেস্ট এন্ট্রি )[] ঐচ্ছিক
বিল্ড কনফিগারেশনের অংশ হিসাবে উত্পন্ন যেকোন এন্ট্রি ছাড়াও প্রিক্যাচ করা এন্ট্রিগুলির একটি তালিকা।
- ক্যাচেবাস্ট ইউআরএল মিলছে না
RegExp ঐচ্ছিক
এর সাথে মেলে এমন সম্পদগুলিকে তাদের URL এর মাধ্যমে স্বতন্ত্রভাবে সংস্করণ করা হয়েছে বলে ধরে নেওয়া হবে এবং প্রিক্যাশে পপুলেট করার সময় করা সাধারণ HTTP ক্যাশে-বাস্টিং থেকে অব্যাহতি দেওয়া হবে। প্রয়োজন না হলেও, এটি সুপারিশ করা হয় যে যদি আপনার বিদ্যমান বিল্ড প্রক্রিয়া ইতিমধ্যেই প্রতিটি ফাইলনামে একটি
[hash]
মান সন্নিবেশ করে, আপনি একটি RegExp প্রদান করেন যা এটি সনাক্ত করবে, কারণ এটি প্রিক্যাচিং করার সময় ব্যান্ডউইথ খরচ কমিয়ে দেবে। - ম্যানিফেস্ট ট্রান্সফর্মস
ম্যানিফেস্ট ট্রান্সফর্ম [] ঐচ্ছিক
এক বা একাধিক ফাংশন যা জেনারেট করা ম্যানিফেস্টের বিপরীতে ক্রমানুসারে প্রয়োগ করা হবে। যদি
modifyURLPrefix
বাdontCacheBustURLsMatching
ও নির্দিষ্ট করা থাকে, তাহলে তাদের সংশ্লিষ্ট রূপান্তরগুলি প্রথমে প্রয়োগ করা হবে। - MaxFileSizeToCacheInBytes
সংখ্যা ঐচ্ছিক
ডিফল্ট মান হল: 2097152
এই মানটি প্রিক্যাচ করা ফাইলগুলির সর্বাধিক আকার নির্ধারণ করতে ব্যবহার করা যেতে পারে। এটি আপনাকে অসাবধানতাবশত আপনার প্যাটার্নগুলির একটির সাথে মিলে যেতে পারে এমন অনেক বড় ফাইলগুলিকে প্রিক্যাচ করা থেকে বাধা দেয়৷
- modifyURLপ্রিফিক্স
বস্তু ঐচ্ছিক
একটি বস্তু ম্যাপিং স্ট্রিং প্রতিস্থাপন স্ট্রিং মান উপসর্গ. এটি ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ, একটি ম্যানিফেস্ট এন্ট্রি থেকে একটি পাথ প্রিফিক্স অপসারণ বা যোগ করতে যদি আপনার ওয়েব হোস্টিং সেটআপ আপনার স্থানীয় ফাইল সিস্টেম সেটআপের সাথে মেলে না। আরও নমনীয়তার বিকল্প হিসাবে, আপনি
manifestTransforms
বিকল্পটি ব্যবহার করতে পারেন এবং এমন একটি ফাংশন প্রদান করতে পারেন যা ম্যানিফেস্টের এন্ট্রিগুলিকে আপনি যে যুক্তি প্রদান করেন তা ব্যবহার করে পরিবর্তন করে৷উদাহরণ ব্যবহার:
// Replace a '/dist/' prefix with '/', and also prepend // '/static' to every URL. modifyURLPrefix: { '/dist/': '/', '': '/static', }
BuildResult
টাইপ
বাদ দিন< GetManifestResult "manifestEntry"
> এবং বস্তু
বৈশিষ্ট্য
- ফাইলপাথ
স্ট্রিং[]
GeneratePartial
বৈশিষ্ট্য
- babelPresetEnvTargets
স্ট্রিং[] ঐচ্ছিক
ডিফল্ট মান হল: ["chrome >= 56"]
পরিষেবা কর্মী বান্ডিল ট্রান্সপিল করার সময়
babel-preset-env
এ পাস করার লক্ষ্যগুলি । - cacheId
স্ট্রিং ঐচ্ছিক
ক্যাশে নামের জন্য একটি ঐচ্ছিক আইডি প্রিপেন্ড করতে হবে। এটি প্রাথমিকভাবে স্থানীয় উন্নয়নের জন্য উপযোগী যেখানে একই
http://localhost:port
অরিজিন থেকে একাধিক সাইট পরিবেশিত হতে পারে। - ক্লিনআপ আউটডেটেড ক্যাশে
বুলিয়ান ঐচ্ছিক
ডিফল্ট মান হল: মিথ্যা
ওয়ার্কবক্স পুরানো, বেমানান সংস্করণ দ্বারা তৈরি যে কোনো প্রিক্যাচ সনাক্ত এবং মুছে ফেলার চেষ্টা করা উচিত কিনা।
- ক্লায়েন্ট দাবি
বুলিয়ান ঐচ্ছিক
ডিফল্ট মান হল: মিথ্যা
পরিষেবা কর্মী যে কোনও বিদ্যমান ক্লায়েন্ট সক্রিয় হওয়ার সাথে সাথে নিয়ন্ত্রণ করা শুরু করা উচিত কিনা।
- ডিরেক্টরি ইনডেক্স
স্ট্রিং ঐচ্ছিক
যদি একটি URL-এর জন্য একটি নেভিগেশন অনুরোধ যা শেষ হয়
/
একটি precached URL এর সাথে মেলে না, তাহলে এই মানটি URL-এর সাথে যুক্ত করা হবে এবং এটি একটি precache মিলের জন্য চেক করা হবে। এটি আপনার ওয়েব সার্ভার তার ডিরেক্টরি সূচী জন্য ব্যবহার করছে কি সেট করা উচিত. - ডিজেবল ডেভলগ
বুলিয়ান ঐচ্ছিক
ডিফল্ট মান হল: মিথ্যা
- ignoreURL প্যারামিটার ম্যাচিং
RegExp[] ঐচ্ছিক
এই অ্যারের RegExp-এর একটির সাথে মেলে এমন যেকোন সার্চ প্যারামিটার নাম একটি precache মিল খোঁজার আগে সরিয়ে দেওয়া হবে। এটি উপযোগী যদি আপনার ব্যবহারকারীরা এমন URLগুলির অনুরোধ করতে পারে যাতে রয়েছে, উদাহরণস্বরূপ, ট্রাফিকের উত্স ট্র্যাক করতে ব্যবহৃত URL প্যারামিটার৷ প্রদান না করা হলে, ডিফল্ট মান হল
[/^utm_/, /^fbclid$/]
। - আমদানি স্ক্রিপ্ট
স্ট্রিং[] ঐচ্ছিক
জাভাস্ক্রিপ্ট ফাইলগুলির একটি তালিকা যা জেনারেট করা পরিষেবা কর্মী ফাইলের ভিতরে
importScripts()
এ পাস করা উচিত। যখন আপনি ওয়ার্কবক্সকে আপনার শীর্ষ-স্তরের পরিষেবা কর্মী ফাইল তৈরি করতে দিতে চান, তবে কিছু অতিরিক্ত কোড অন্তর্ভুক্ত করতে চান, যেমন একটি পুশ ইভেন্ট লিসেনার। - ইনলাইন ওয়ার্কবক্স রানটাইম
বুলিয়ান ঐচ্ছিক
ডিফল্ট মান হল: মিথ্যা
ওয়ার্কবক্স লাইব্রেরির জন্য রানটাইম কোডটি শীর্ষ-স্তরের পরিষেবা কর্মীর মধ্যে অন্তর্ভুক্ত করা উচিত, বা একটি পৃথক ফাইলে বিভক্ত করা উচিত যা পরিষেবা কর্মীর পাশাপাশি স্থাপন করা প্রয়োজন। রানটাইম আলাদা রাখার অর্থ হল যে প্রতিবার আপনার শীর্ষ-স্তরের পরিষেবা কর্মী পরিবর্তন করার সময় ব্যবহারকারীদের ওয়ার্কবক্স কোড পুনরায় ডাউনলোড করতে হবে না।
- মোড
স্ট্রিং ঐচ্ছিক
ডিফল্ট মান হল: "উৎপাদন"
যদি 'উৎপাদন'-এ সেট করা হয়, তাহলে একটি অপ্টিমাইজড পরিষেবা কর্মী বান্ডিল তৈরি করা হবে যা ডিবাগিং তথ্য বাদ দেয়। এখানে স্পষ্টভাবে কনফিগার করা না থাকলে,
process.env.NODE_ENV
মান ব্যবহার করা হবে, এবং তা ব্যর্থ হলে, এটি'production'
এ ফিরে যাবে। স্ট্রিং ঐচ্ছিক
ডিফল্ট মান হল: null
নির্দিষ্ট করা থাকলে, প্রিক্যাচ করা হয়নি এমন URLগুলির জন্য সমস্ত নেভিগেশন অনুরোধ প্রদত্ত URL-এ HTML দিয়ে পূরণ করা হবে। আপনাকে অবশ্যই একটি HTML নথির URL পাস করতে হবে যা আপনার precache ম্যানিফেস্টে তালিকাভুক্ত। এটি একটি একক পৃষ্ঠা অ্যাপ দৃশ্যে ব্যবহার করার জন্য বোঝানো হয়েছে, যেখানে আপনি সমস্ত নেভিগেশন সাধারণ অ্যাপ শেল HTML ব্যবহার করতে চান।
RegExp[] ঐচ্ছিক
রেগুলার এক্সপ্রেশনের একটি ঐচ্ছিক বিন্যাস যা কনফিগার করা
navigateFallback
আচরণ কোন ইউআরএলে প্রযোজ্য তা সীমাবদ্ধ করে। এটি উপযোগী যদি শুধুমাত্র আপনার সাইটের URL-এর একটি উপসেটকে একটি একক পৃষ্ঠা অ্যাপের অংশ হিসাবে বিবেচনা করা হয়। যদিnavigateFallbackDenylist
এবংnavigateFallbackAllowlist
উভয়ই কনফিগার করা থাকে, তবে অস্বীকারকারী নজির নেয়।দ্রষ্টব্য : একটি নেভিগেশন চলাকালীন প্রতিটি গন্তব্য URL এর বিপরীতে এই RegExps মূল্যায়ন করা হতে পারে। জটিল RegExps ব্যবহার করা এড়িয়ে চলুন, অন্যথায় আপনার ব্যবহারকারীরা আপনার সাইটে নেভিগেট করার সময় বিলম্ব দেখতে পাবেন।
RegExp[] ঐচ্ছিক
রেগুলার এক্সপ্রেশনের একটি ঐচ্ছিক বিন্যাস যা কনফিগার করা
navigateFallback
আচরণ কোন ইউআরএলে প্রযোজ্য তা সীমাবদ্ধ করে। এটি উপযোগী যদি শুধুমাত্র আপনার সাইটের URL-এর একটি উপসেটকে একটি একক পৃষ্ঠা অ্যাপের অংশ হিসাবে বিবেচনা করা হয়। যদিnavigateFallbackDenylist
এবংnavigateFallbackAllowlist
উভয়ই কনফিগার করা থাকে, তবে অস্বীকারকারী অগ্রাধিকার নেয়।দ্রষ্টব্য : একটি নেভিগেশন চলাকালীন প্রতিটি গন্তব্য URL এর বিপরীতে এই RegExps মূল্যায়ন করা হতে পারে। জটিল RegExps ব্যবহার করা এড়িয়ে চলুন, অন্যথায় আপনার ব্যবহারকারীরা আপনার সাইটে নেভিগেট করার সময় বিলম্ব দেখতে পাবেন।
বুলিয়ান ঐচ্ছিক
ডিফল্ট মান হল: মিথ্যা
জেনারেটেড সার্ভিস ওয়ার্কারে নেভিগেশন প্রিলোড সক্ষম করবেন কি না। সত্য হিসাবে সেট করা হলে, আপনাকে অবশ্যই একটি উপযুক্ত প্রতিক্রিয়া কৌশল সেট আপ করতে
runtimeCaching
ব্যবহার করতে হবে যা নেভিগেশন অনুরোধের সাথে মেলে এবং প্রিলোড করা প্রতিক্রিয়া ব্যবহার করবে।- অফলাইন GoogleAnalytics
বুলিয়ান | GoogleAnalyticsInitializeOptions ঐচ্ছিক
ডিফল্ট মান হল: মিথ্যা
অফলাইন Google Analytics- এর জন্য সমর্থন অন্তর্ভুক্ত করতে হবে কিনা তা নিয়ন্ত্রণ করে।
true
হলে,workbox-google-analytics
initialize()
কলটি আপনার জেনারেট করা সার্ভিস ওয়ার্কারে যোগ করা হবে। একটিObject
সেট করা হলে, সেই অবজেক্টটিinitialize()
কলে পাস করা হবে, যা আপনাকে আচরণটি কাস্টমাইজ করতে দেয়। - রানটাইম ক্যাচিং
RuntimeCaching [] ঐচ্ছিক
আপনার পরিষেবা কর্মী তৈরি করতে ওয়ার্কবক্সের বিল্ড টুল ব্যবহার করার সময়, আপনি এক বা একাধিক রানটাইম ক্যাশিং কনফিগারেশন নির্দিষ্ট করতে পারেন। এইগুলি তারপর আপনার সংজ্ঞায়িত ম্যাচ এবং হ্যান্ডলার কনফিগারেশন ব্যবহার করে
workbox-routing.registerRoute
কলগুলিতে অনুবাদ করা হয়।সমস্ত বিকল্পের জন্য,
workbox-build.RuntimeCaching
ডকুমেন্টেশন দেখুন। নীচের উদাহরণটি দুটি রানটাইম রুট সংজ্ঞায়িত সহ একটি সাধারণ কনফিগারেশন দেখায়: - অপেক্ষা করা বাদ দিন
বুলিয়ান ঐচ্ছিক
ডিফল্ট মান হল: মিথ্যা
উত্পন্ন পরিষেবা কর্মীকে
skipWaiting()
এ একটি নিঃশর্ত কল যোগ করতে হবে কিনা। যদিfalse
, তাহলে এর পরিবর্তে একজনmessage
শ্রোতা যোগ করা হবে, ক্লায়েন্ট পৃষ্ঠাগুলিকেpostMessage({type: 'SKIP_WAITING'})
কল করেskipWaiting()
ট্রিগার করার অনুমতি দেয় একজন অপেক্ষমাণ পরিষেবা কর্মীকে। - উত্সম্যাপ
বুলিয়ান ঐচ্ছিক
ডিফল্ট মান হল: সত্য
উত্পন্ন পরিষেবা কর্মী ফাইলগুলির জন্য একটি উত্সম্যাপ তৈরি করা হবে কিনা।
GenerateSWOptions
টাইপ
বেস আংশিক এবং গ্লোব আংশিক এবং আংশিক এবং প্রয়োজনীয়SWDest আংশিক এবং ঐচ্ছিক গ্লোব ডাইরেক্টরি আংশিক তৈরি করুন
GetManifestOptions
GetManifestResult
বৈশিষ্ট্য
- গণনা
সংখ্যা
- ম্যানিফেস্ট এন্ট্রি
- আকার
সংখ্যা
- সতর্কতা
স্ট্রিং[]
GlobPartial
বৈশিষ্ট্য
- globঅনুসরণ করুন
বুলিয়ান ঐচ্ছিক
ডিফল্ট মান হল: সত্য
precache ম্যানিফেস্ট তৈরি করার সময় সিমলিংক অনুসরণ করা হয় কিনা তা নির্ধারণ করে। আরও তথ্যের জন্য,
glob
ডকুমেন্টেশনেfollow
সংজ্ঞা দেখুন। - গ্লোব উপেক্ষা করে
স্ট্রিং[] ঐচ্ছিক
ডিফল্ট মান হল: ["**\/node_modules\/**\/*"]
precache ম্যানিফেস্ট তৈরি করার সময় সর্বদা বাদ দেওয়ার জন্য ফাইলের সাথে মিলে যাওয়া প্যাটার্নগুলির একটি সেট৷ আরও তথ্যের জন্য,
glob
ডকুমেন্টেশনেignore
সংজ্ঞা দেখুন। - গ্লোব প্যাটার্নস
স্ট্রিং[] ঐচ্ছিক
ডিফল্ট মান হল: ["**\/*.{js,wasm,css,html}"]
এই প্যাটার্নগুলির যেকোনো একটির সাথে মিলে যাওয়া ফাইলগুলিকে প্রিক্যাশে ম্যানিফেস্টে অন্তর্ভুক্ত করা হবে। আরও তথ্যের জন্য,
glob
প্রাইমার দেখুন। - globStrict
বুলিয়ান ঐচ্ছিক
ডিফল্ট মান হল: সত্য
সত্য হলে, একটি precache ম্যানিফেস্ট তৈরি করার সময় একটি ডিরেক্টরি পড়ার ত্রুটি বিল্ড ব্যর্থ হবে। মিথ্যা হলে, সমস্যাযুক্ত ডিরেক্টরিটি এড়িয়ে যাবে। আরও তথ্যের জন্য,
glob
ডকুমেন্টেশনেstrict
সংজ্ঞা দেখুন। - টেমপ্লেটেড ইউআরএল
বস্তু ঐচ্ছিক
যদি একটি URL কিছু সার্ভার-সাইড যুক্তির উপর ভিত্তি করে রেন্ডার করা হয়, তবে এর বিষয়বস্তু একাধিক ফাইল বা অন্য কিছু অনন্য স্ট্রিং মানের উপর নির্ভর করতে পারে। এই বস্তুর কীগুলি হল সার্ভার-রেন্ডার করা URL৷ যদি মানগুলি স্ট্রিংগুলির একটি অ্যারে হয় তবে সেগুলিকে
glob
প্যাটার্ন হিসাবে ব্যাখ্যা করা হবে এবং প্যাটার্নগুলির সাথে মিলে যাওয়া যেকোন ফাইলের বিষয়বস্তু ইউআরএলের অনন্য সংস্করণ করতে ব্যবহার করা হবে৷ যদি একটি একক স্ট্রিং ব্যবহার করা হয়, তাহলে এটিকে অনন্য সংস্করণ তথ্য হিসাবে ব্যাখ্যা করা হবে যা আপনি একটি প্রদত্ত URL এর জন্য তৈরি করেছেন৷
InjectManifestOptions
টাইপ
InjectPartial
বৈশিষ্ট্য
- ইনজেকশন পয়েন্ট
স্ট্রিং ঐচ্ছিক
ডিফল্ট মান হল: "self.__WB_MANIFEST"
swSrc
ফাইলের ভিতরে খোঁজার জন্য স্ট্রিং। একবার পাওয়া গেলে, এটি তৈরি করা precache ম্যানিফেস্ট দ্বারা প্রতিস্থাপিত হবে। - swSrc
স্ট্রিং
পরিষেবা কর্মী ফাইলের পাথ এবং ফাইলের নাম যা বিল্ড প্রক্রিয়া চলাকালীন পড়া হবে, বর্তমান কার্যকারী ডিরেক্টরির সাথে সম্পর্কিত।
ManifestEntry
বৈশিষ্ট্য
- সততা
স্ট্রিং ঐচ্ছিক
- পুনর্বিবেচনা
স্ট্রিং
- url
স্ট্রিং
ManifestTransform()
workbox-build.ManifestTransform(
manifestEntries: (ManifestEntry & object)[],
compilation?: unknown,
)
টাইপ
ফাংশন
পরামিতি
- ম্যানিফেস্ট এন্ট্রি
( ম্যানিফেস্ট এন্ট্রি এবং অবজেক্ট)[]
- আকার
সংখ্যা
- সংকলন
অজানা ঐচ্ছিক
রিটার্নস
প্রতিশ্রুতি< ManifestTransformResult > | ManifestTransformResult
ManifestTransformResult
বৈশিষ্ট্য
- প্রকাশ
( ম্যানিফেস্ট এন্ট্রি এবং অবজেক্ট)[]
- আকার
সংখ্যা
- সতর্কতা
স্ট্রিং[] ঐচ্ছিক
OptionalGlobDirectoryPartial
বৈশিষ্ট্য
- globDirectory
স্ট্রিং ঐচ্ছিক
আপনি যে স্থানীয় ডিরেক্টরির সাথে
globPatterns
এর সাথে মেলাতে চান। পাথ বর্তমান ডিরেক্টরির সাথে আপেক্ষিক।
RequiredGlobDirectoryPartial
বৈশিষ্ট্য
- globDirectory
স্ট্রিং
আপনি যে স্থানীয় ডিরেক্টরির সাথে
globPatterns
এর সাথে মেলাতে চান। পাথ বর্তমান ডিরেক্টরির সাথে আপেক্ষিক।
RequiredSWDestPartial
বৈশিষ্ট্য
- swDest
স্ট্রিং
পরিষেবা কর্মী ফাইলের পাথ এবং ফাইলের নাম যা বর্তমান কার্যকারী ডিরেক্টরির সাথে সম্পর্কিত বিল্ড প্রক্রিয়া দ্বারা তৈরি করা হবে। এটি অবশ্যই '.js'-এ শেষ হবে।
RuntimeCaching
বৈশিষ্ট্য
- হ্যান্ডলার
এটি নির্ধারণ করে কিভাবে রানটাইম রুট একটি প্রতিক্রিয়া তৈরি করবে। অন্তর্নির্মিত
workbox-strategies
একটি ব্যবহার করতে, এর নাম প্রদান করুন, যেমন'NetworkFirst'
। বিকল্পভাবে, এটি একটিworkbox-core.RouteHandler
হতে পারে। কাস্টম প্রতিক্রিয়া যুক্তি সহ রুটহ্যান্ডলার কলব্যাক ফাংশন। - পদ্ধতি
HTTP পদ্ধতি ঐচ্ছিক
ডিফল্ট মান হল: "GET"
HTTP পদ্ধতির সাথে মেলে।
'GET'
এর ডিফল্ট মান সাধারণত যথেষ্ট, যদি না আপনি স্পষ্টভাবে'POST'
,'PUT'
বা অন্য ধরনের অনুরোধের সাথে মিল করতে চান। - বিকল্প
বস্তু ঐচ্ছিক
- ব্যাকগ্রাউন্ড সিঙ্ক
বস্তু ঐচ্ছিক
এটি কনফিগার করা
handler
কনফিগার করাworkbox-strategies
একটিworkbox-background-sync.BackgroundSyncPlugin
। ব্যাকগ্রাউন্ডসিঙ্কপ্লাগইন ইনস্ট্যান্স যোগ করবে।- নাম
স্ট্রিং
- বিকল্প
QueueOptions ঐচ্ছিক
- ব্রডকাস্ট আপডেট
বস্তু ঐচ্ছিক
এটি কনফিগার করা
handler
কনফিগার করাworkbox-strategies
একটিworkbox-broadcast-update.BroadcastUpdatePlugin
। ব্রডকাস্টআপডেট প্লাগইন উদাহরণ যোগ করবে।- চ্যানেলের নাম
স্ট্রিং ঐচ্ছিক
- বিকল্প
- cacheName
স্ট্রিং ঐচ্ছিক
প্রদান করা হলে, এটি
handler
কনফিগার করাworkbox-strategies
cacheName
বৈশিষ্ট্য সেট করবে। - ক্যাশেযোগ্য প্রতিক্রিয়া
CacheableResponseOptions ঐচ্ছিক
এটি কনফিগার করা
handler
কনফিগার করাworkbox-strategies
একটিworkbox-cacheable-response.CacheableResponsePlugin
যোগ করবে। - মেয়াদ
মেয়াদোত্তীর্ণ প্লাগইন বিকল্প ঐচ্ছিক
এটি কনফিগার করা হলে
handler
কনফিগার করাworkbox-strategies
একটিworkbox-expiration.ExpirationPlugin
যোগ হবে। - ফেচ অপশন
RequestInit ঐচ্ছিক
এটি কনফিগার করা
handler
কনফিগার করাworkbox-strategies
fetchOptions
মান বরাবর চলে যাবে। - ম্যাচ অপশন
CacheQueryOptions ঐচ্ছিক
এটি কনফিগার করা হলে তা
handler
কনফিগার করাworkbox-strategies
matchOptions
মান বরাবর চলে যাবে। - নেটওয়ার্ক টাইমআউট সেকেন্ড
সংখ্যা ঐচ্ছিক
প্রদান করা হলে, এটি
handler
কনফিগার করাworkbox-strategies
networkTimeoutSeconds
বৈশিষ্ট্য সেট করবে। মনে রাখবেন যে শুধুমাত্র'NetworkFirst'
এবং'NetworkOnly'
networkTimeoutSeconds
সমর্থন করে। - প্লাগইন
WorkboxPlugin [] ঐচ্ছিক
এটি কনফিগার করা এক বা একাধিক ওয়ার্কবক্স প্লাগইন ব্যবহার করার অনুমতি দেয় যেখানে "শর্টকাট" বিকল্প নেই (যেমন
workbox-expiration.ExpirationPlugin
expiration
। এক্সপিরেশন প্লাগইন)। এখানে দেওয়া প্লাগইনগুলিhandler
কনফিগার করাworkbox-strategies
যোগ করা হবে। - precacheFallback
বস্তু ঐচ্ছিক
এটি কনফিগার করা হলে
handler
কনফিগার করাworkbox-strategies
একটিworkbox-precaching.PrecacheFallbackPlugin
যুক্ত হবে।- fallbackURL
স্ট্রিং
- রেঞ্জের অনুরোধ
বুলিয়ান ঐচ্ছিক
এটি সক্ষম করলে
handler
কনফিগার করাworkbox-strategies
একটিworkbox-range-requests.RangeRequestsPlugin
যোগ হবে।
- url প্যাটার্ন
স্ট্রিং | RegExp | RouteMatchCallback
এই মিলের মানদণ্ড নির্ধারণ করে যে কনফিগার করা হ্যান্ডলার এমন কোনও অনুরোধের জন্য একটি প্রতিক্রিয়া তৈরি করবে যা পূর্বক্যাচ করা URLগুলির একটির সাথে মেলে না৷ যদি একাধিক
RuntimeCaching
রুট সংজ্ঞায়িত করা হয়, তাহলে প্রথমটি যারurlPattern
মেলে যেটি প্রতিক্রিয়া জানাবে।এই মানটি
workbox-routing.registerRoute
এ পাস করা প্রথম প্যারামিটারে সরাসরি ম্যাপ করে। সর্বাধিক নমনীয়তার জন্য একটিworkbox-core.RouteMatchCallback
ফাংশন ব্যবহার করার পরামর্শ দেওয়া হচ্ছে৷
StrategyName
এনাম
"ক্যাশে ফার্স্ট" "শুধুমাত্র ক্যাশে" "নেটওয়ার্ক ফার্স্ট" "শুধুমাত্র নেটওয়ার্ক" "StaleWhileRevalidate"
WebpackGenerateSWOptions
টাইপ
বেসপার্টিয়াল এবং ওয়েবপ্যাক আংশিক এবং আংশিক এবং ওয়েবপ্যাক তৈরি করুনSWPartial
WebpackGenerateSWPartial
বৈশিষ্ট্য
- importScriptsViaChunks
স্ট্রিং[] ঐচ্ছিক
ওয়েবপ্যাক খণ্ডের এক বা একাধিক নাম। সেই অংশগুলির বিষয়বস্তু
importScripts()
এ কলের মাধ্যমে জেনারেট করা পরিষেবা কর্মীতে অন্তর্ভুক্ত করা হবে। - swDest
স্ট্রিং ঐচ্ছিক
ডিফল্ট মান হল: "service-worker.js"
এই প্লাগইন দ্বারা তৈরি পরিষেবা কর্মী ফাইলের সম্পদের নাম।
WebpackInjectManifestOptions
টাইপ
WebpackInjectManifestPartial
বৈশিষ্ট্য
- compileSrc
বুলিয়ান ঐচ্ছিক
ডিফল্ট মান হল: সত্য
true
হলে (ডিফল্ট),swSrc
ফাইলটি ওয়েবপ্যাক দ্বারা কম্পাইল করা হবে।false
হলে, সংকলন ঘটবে না (এবংwebpackCompilationPlugins
ব্যবহার করা যাবে না।) আপনি যদি ম্যানিফেস্টটিকে একটি JSON ফাইলে ইনজেক্ট করতে চান তাহলেfalse
সেট করুন। - swDest
স্ট্রিং ঐচ্ছিক
পরিষেবা কর্মী ফাইলের সম্পদের নাম যা এই প্লাগইন দ্বারা তৈরি করা হবে। যদি বাদ দেওয়া হয়, নামটি
swSrc
নামের উপর ভিত্তি করে হবে। - webpackCompilationPlugins
যেকোনো[] ঐচ্ছিক
ঐচ্ছিক
webpack
প্লাগইন যাswSrc
ইনপুট ফাইল কম্পাইল করার সময় ব্যবহার করা হবে।compileSrc
true
হলেই বৈধ।
WebpackPartial
বৈশিষ্ট্য
- খণ্ড
স্ট্রিং[] ঐচ্ছিক
এক বা একাধিক খণ্ডের নাম যার সংশ্লিষ্ট আউটপুট ফাইলগুলি প্রিক্যাচে ম্যানিফেস্টে অন্তর্ভুক্ত করা উচিত।
- বাদ
(স্ট্রিং | RegExp | ফাংশন)[] ঐচ্ছিক৷
precache ম্যানিফেস্ট থেকে সম্পদ বাদ দিতে ব্যবহৃত এক বা একাধিক স্পেসিফায়ার। এটি
webpack
স্ট্যান্ডার্ডexclude
বিকল্পের মতো একই নিয়ম অনুসরণ করে ব্যাখ্যা করা হয়। প্রদান না করা হলে, ডিফল্ট মান হল[/\.map$/, /^manifest.*\.js$]
। - খণ্ডগুলি বাদ দিন
স্ট্রিং[] ঐচ্ছিক
এক বা একাধিক খণ্ডের নাম যার সংশ্লিষ্ট আউটপুট ফাইলগুলিকে precache ম্যানিফেস্ট থেকে বাদ দেওয়া উচিত৷
- অন্তর্ভুক্ত
(স্ট্রিং | RegExp | ফাংশন)[] ঐচ্ছিক৷
precache ম্যানিফেস্টে সম্পদ অন্তর্ভুক্ত করতে ব্যবহৃত এক বা একাধিক স্পেসিফায়ার। এটি
webpack
স্ট্যান্ডার্ডinclude
বিকল্পের মতো একই নিয়ম অনুসরণ করে ব্যাখ্যা করা হয়। - মোড
স্ট্রিং ঐচ্ছিক
যদি 'উৎপাদন'-এ সেট করা হয়, তাহলে একটি অপ্টিমাইজড পরিষেবা কর্মী বান্ডিল তৈরি করা হবে যা ডিবাগিং তথ্য বাদ দেয়। এখানে স্পষ্টভাবে কনফিগার করা না থাকলে, বর্তমান
webpack
সংকলনে কনফিগার করাmode
মান ব্যবহার করা হবে।
পদ্ধতি
copyWorkboxLibraries()
workbox-build.copyWorkboxLibraries(
destDirectory: string,
)
এটি একটি স্থানীয় ডিরেক্টরিতে Workbox দ্বারা ব্যবহৃত রানটাইম লাইব্রেরির একটি সেটের উপর কপি করে, যা আপনার পরিষেবা কর্মী ফাইলের পাশাপাশি স্থাপন করা উচিত।
এই স্থানীয় অনুলিপিগুলি স্থাপনের বিকল্প হিসাবে, আপনি পরিবর্তে এর অফিসিয়াল CDN URL থেকে Workbox ব্যবহার করতে পারেন৷
এই পদ্ধতিটি workbox-build.injectManifest
ব্যবহারকারী ডেভেলপারদের সুবিধার জন্য উন্মুক্ত করা হয়েছে যারা ওয়ার্কবক্সের CDN কপি ব্যবহার করতে পছন্দ করবেন না। workbox-build.generateSW
ব্যবহার করে ডেভেলপারদের এই পদ্ধতিটিকে স্পষ্টভাবে কল করার দরকার নেই।
পরামিতি
- destDirectory
স্ট্রিং
মূল ডিরেক্টরির পথ যার অধীনে লাইব্রেরির নতুন ডিরেক্টরি তৈরি করা হবে।
রিটার্নস
প্রতিশ্রুতি<string>
নতুন তৈরি ডিরেক্টরির নাম।
generateSW()
workbox-build.generateSW(
config: GenerateSWOptions,
)
এই পদ্ধতিটি আপনার প্রদত্ত বিকল্পগুলির উপর ভিত্তি করে প্রিক্যাশে ইউআরএলগুলির একটি তালিকা তৈরি করে, যাকে "প্রিক্যাশ ম্যানিফেস্ট" হিসাবে উল্লেখ করা হয়।
এটি অতিরিক্ত বিকল্পগুলিও নেয় যা পরিষেবা কর্মীর আচরণ কনফিগার করে, যেমন এটি ব্যবহার করা উচিত যে কোনও runtimeCaching
নিয়ম।
precache ম্যানিফেস্ট এবং অতিরিক্ত কনফিগারেশনের উপর ভিত্তি করে, এটি swDest
এ ডিস্কে একটি রেডি-টু-ব্যবহারের পরিষেবা কর্মী ফাইল লিখে।
// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, size, warnings} = await generateSW({
dontCacheBustURLsMatching: [new RegExp('...')],
globDirectory: '...',
globPatterns: ['...', '...'],
maximumFileSizeToCacheInBytes: ...,
navigateFallback: '...',
runtimeCaching: [{
// Routing via a matchCallback function:
urlPattern: ({request, url}) => ...,
handler: '...',
options: {
cacheName: '...',
expiration: {
maxEntries: ...,
},
},
}, {
// Routing via a RegExp:
urlPattern: new RegExp('...'),
handler: '...',
options: {
cacheName: '...',
plugins: [..., ...],
},
}],
skipWaiting: ...,
swDest: '...',
});
পরামিতি
- কনফিগারেশন
রিটার্নস
প্রতিশ্রুতি < বিল্ড রেজাল্ট >
getManifest()
workbox-build.getManifest(
config: GetManifestOptions,
)
এই পদ্ধতিটি আপনার প্রদত্ত বিকল্পগুলির উপর ভিত্তি করে এন্ট্রির সংখ্যা এবং তাদের আকার সম্পর্কে বিশদ সহ প্রিক্যাশে ইউআরএলগুলির একটি তালিকা প্রদান করে, যাকে "প্রিক্যাশে ম্যানিফেস্ট" হিসাবে উল্লেখ করা হয়।
// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, manifestEntries, size, warnings} = await getManifest({
dontCacheBustURLsMatching: [new RegExp('...')],
globDirectory: '...',
globPatterns: ['...', '...'],
maximumFileSizeToCacheInBytes: ...,
});
পরামিতি
- কনফিগারেশন
রিটার্নস
প্রতিশ্রুতি< GetManifestResult >
getModuleURL()
workbox-build.getModuleURL(
moduleName: string,
buildType: BuildType,
)
পরামিতি
- মডিউল নাম
স্ট্রিং
- বিল্ড টাইপ
বিল্ড টাইপ
রিটার্নস
স্ট্রিং
injectManifest()
workbox-build.injectManifest(
config: InjectManifestOptions,
)
এই পদ্ধতিটি আপনার প্রদত্ত বিকল্পগুলির উপর ভিত্তি করে প্রিক্যাশে ইউআরএলগুলির একটি তালিকা তৈরি করে, যাকে "প্রিক্যাশ ম্যানিফেস্ট" হিসাবে উল্লেখ করা হয়।
ম্যানিফেস্টটি swSrc
ফাইলে ইনজেকশন করা হয়, এবং স্থানধারক স্ট্রিং injectionPoint
নির্ধারণ করে যে ফাইলটিতে ম্যানিফেস্টটি কোথায় যাবে।
চূড়ান্ত পরিষেবা কর্মী ফাইল, ম্যানিফেস্ট ইনজেকশন সহ, swDest
এ ডিস্কে লেখা হয়।
এই পদ্ধতিটি আপনার swSrc
ফাইল কম্পাইল বা বান্ডেল করবে না; এটা শুধু ম্যানিফেস্ট ইনজেকশন পরিচালনা করে.
// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, size, warnings} = await injectManifest({
dontCacheBustURLsMatching: [new RegExp('...')],
globDirectory: '...',
globPatterns: ['...', '...'],
maximumFileSizeToCacheInBytes: ...,
swDest: '...',
swSrc: '...',
});
পরামিতি
- কনফিগারেশন
রিটার্নস
প্রতিশ্রুতি < বিল্ড রেজাল্ট >