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-analyticsinitialize()কলটি আপনার জেনারেট করা সার্ভিস ওয়ার্কারে যোগ করা হবে। একটি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,
): Promise<ManifestTransformResult> | ManifestTransformResult
টাইপ
ফাংশন
পরামিতি
- ম্যানিফেস্ট এন্ট্রি
( ম্যানিফেস্ট এন্ট্রি এবং অবজেক্ট)[]
- আকার
সংখ্যা
- সংকলন
অজানা ঐচ্ছিক
রিটার্নস
প্রতিশ্রুতি< 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-strategiescacheNameবৈশিষ্ট্য সেট করবে। - ক্যাশেযোগ্য প্রতিক্রিয়া
CacheableResponseOptions ঐচ্ছিক
এটি কনফিগার করা
handlerকনফিগার করাworkbox-strategiesএকটিworkbox-cacheable-response.CacheableResponsePluginযোগ করবে। - মেয়াদ
মেয়াদোত্তীর্ণ প্লাগইন বিকল্প ঐচ্ছিক
এটি কনফিগার করা হলে
handlerকনফিগার করাworkbox-strategiesএকটিworkbox-expiration.ExpirationPluginযোগ হবে। - ফেচ অপশন
RequestInit ঐচ্ছিক
এটি কনফিগার করা
handlerকনফিগার করাworkbox-strategiesfetchOptionsমান বরাবর চলে যাবে। - ম্যাচ অপশন
CacheQueryOptions ঐচ্ছিক
এটি কনফিগার করা হলে তা
handlerকনফিগার করাworkbox-strategiesmatchOptionsমান বরাবর চলে যাবে। - নেটওয়ার্ক টাইমআউট সেকেন্ড
সংখ্যা ঐচ্ছিক
প্রদান করা হলে, এটি
handlerকনফিগার করাworkbox-strategiesnetworkTimeoutSecondsবৈশিষ্ট্য সেট করবে। মনে রাখবেন যে শুধুমাত্র'NetworkFirst'এবং'NetworkOnly'networkTimeoutSecondsসমর্থন করে। - প্লাগইন
WorkboxPlugin [] ঐচ্ছিক
এটি কনফিগার করা এক বা একাধিক ওয়ার্কবক্স প্লাগইন ব্যবহার করার অনুমতি দেয় যেখানে "শর্টকাট" বিকল্প নেই (যেমন
workbox-expiration.ExpirationPluginexpiration। এক্সপিরেশন প্লাগইন)। এখানে দেওয়া প্লাগইনগুলি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ইনপুট ফাইল কম্পাইল করার সময় ব্যবহার করা হবে।compileSrctrueহলেই বৈধ।
WebpackPartial
বৈশিষ্ট্য
- খণ্ড
স্ট্রিং[] ঐচ্ছিক
এক বা একাধিক খণ্ডের নাম যার সংশ্লিষ্ট আউটপুট ফাইলগুলি প্রিক্যাচে ম্যানিফেস্টে অন্তর্ভুক্ত করা উচিত।
- বাদ
(স্ট্রিং | RegExp | ফাংশন)[] ঐচ্ছিক৷
precache ম্যানিফেস্ট থেকে সম্পদ বাদ দিতে ব্যবহৃত এক বা একাধিক স্পেসিফায়ার। এটি
webpackস্ট্যান্ডার্ডexcludeবিকল্পের মতো একই নিয়ম অনুসরণ করে ব্যাখ্যা করা হয়। প্রদান না করা হলে, ডিফল্ট মান হল[/\.map$/, /^manifest.*\.js$]। - খণ্ডগুলি বাদ দিন
স্ট্রিং[] ঐচ্ছিক
এক বা একাধিক খণ্ডের নাম যার সংশ্লিষ্ট আউটপুট ফাইলগুলিকে precache ম্যানিফেস্ট থেকে বাদ দেওয়া উচিত৷
- অন্তর্ভুক্ত
(স্ট্রিং | RegExp | ফাংশন)[] ঐচ্ছিক৷
precache ম্যানিফেস্টে সম্পদ অন্তর্ভুক্ত করতে ব্যবহৃত এক বা একাধিক স্পেসিফায়ার। এটি
webpackস্ট্যান্ডার্ডincludeবিকল্পের মতো একই নিয়ম অনুসরণ করে ব্যাখ্যা করা হয়। - মোড
স্ট্রিং ঐচ্ছিক
যদি 'উৎপাদন'-এ সেট করা হয়, তাহলে একটি অপ্টিমাইজড পরিষেবা কর্মী বান্ডিল তৈরি করা হবে যা ডিবাগিং তথ্য বাদ দেয়। এখানে স্পষ্টভাবে কনফিগার করা না থাকলে, বর্তমান
webpackসংকলনে কনফিগার করাmodeমান ব্যবহার করা হবে।
পদ্ধতি
copyWorkboxLibraries()
workbox-build.copyWorkboxLibraries(
destDirectory: string,
): Promise<string>
এটি একটি স্থানীয় ডিরেক্টরিতে Workbox দ্বারা ব্যবহৃত রানটাইম লাইব্রেরির একটি সেটের উপর কপি করে, যা আপনার পরিষেবা কর্মী ফাইলের পাশাপাশি স্থাপন করা উচিত।
এই স্থানীয় অনুলিপিগুলি স্থাপনের বিকল্প হিসাবে, আপনি পরিবর্তে এর অফিসিয়াল CDN URL থেকে Workbox ব্যবহার করতে পারেন৷
এই পদ্ধতিটি workbox-build.injectManifest ব্যবহারকারী ডেভেলপারদের সুবিধার জন্য উন্মুক্ত করা হয়েছে যারা ওয়ার্কবক্সের CDN কপি ব্যবহার করতে পছন্দ করবেন না। workbox-build.generateSW ব্যবহার করে ডেভেলপারদের এই পদ্ধতিটিকে স্পষ্টভাবে কল করার দরকার নেই।
পরামিতি
- destDirectory
স্ট্রিং
মূল ডিরেক্টরির পথ যার অধীনে লাইব্রেরির নতুন ডিরেক্টরি তৈরি করা হবে।
রিটার্নস
প্রতিশ্রুতি<string>
নতুন তৈরি ডিরেক্টরির নাম।
generateSW()
workbox-build.generateSW(
config: GenerateSWOptions,
): Promise<BuildResult>
এই পদ্ধতিটি আপনার প্রদত্ত বিকল্পগুলির উপর ভিত্তি করে প্রিক্যাশে ইউআরএলগুলির একটি তালিকা তৈরি করে, যাকে "প্রিক্যাশ ম্যানিফেস্ট" হিসাবে উল্লেখ করা হয়।
এটি অতিরিক্ত বিকল্পগুলিও নেয় যা পরিষেবা কর্মীর আচরণ কনফিগার করে, যেমন এটি ব্যবহার করা উচিত যে কোনও 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,
): Promise<GetManifestResult>
এই পদ্ধতিটি আপনার প্রদত্ত বিকল্পগুলির উপর ভিত্তি করে এন্ট্রির সংখ্যা এবং তাদের আকার সম্পর্কে বিশদ সহ প্রিক্যাশে ইউআরএলগুলির একটি তালিকা প্রদান করে, যাকে "প্রিক্যাশে ম্যানিফেস্ট" হিসাবে উল্লেখ করা হয়।
// 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,
): string
পরামিতি
- মডিউল নাম
স্ট্রিং
- বিল্ড টাইপ
বিল্ড টাইপ
রিটার্নস
স্ট্রিং
injectManifest()
workbox-build.injectManifest(
config: InjectManifestOptions,
): Promise<BuildResult>
এই পদ্ধতিটি আপনার প্রদত্ত বিকল্পগুলির উপর ভিত্তি করে প্রিক্যাশে ইউআরএলগুলির একটি তালিকা তৈরি করে, যাকে "প্রিক্যাশ ম্যানিফেস্ট" হিসাবে উল্লেখ করা হয়।
ম্যানিফেস্টটি 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: '...',
});
পরামিতি
- কনফিগারেশন
রিটার্নস
প্রতিশ্রুতি < বিল্ড রেজাল্ট >