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: '...',
});
পরামিতি
- কনফিগারেশন
রিটার্নস
প্রতিশ্রুতি < বিল্ড রেজাল্ট >
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
উদাহরণ যুক্ত করবে।- নাম
স্ট্রিং
- বিকল্প
সারিওপশনগুলি al চ্ছিক
- ব্রডকাস্টআপডেট
বস্তু ঐচ্ছিক
এটি কনফিগার করা
handler
কনফিগার করাworkbox-strategies
একটিworkbox-broadcast-update.BroadcastUpdatePlugin
উদাহরণ যুক্ত করবে।- চ্যানেলের নাম
স্ট্রিং ঐচ্ছিক
- বিকল্প
- ক্যাশেনাম
স্ট্রিং ঐচ্ছিক
যদি সরবরাহ করা হয় তবে এটি
handler
কনফিগার করাworkbox-strategies
cacheName
সম্পত্তি সেট করবে। - ক্যাশেব্লারস্পোনস
C
এটি কনফিগার করা
handler
কনফিগার করাworkbox-strategies
একটিworkbox-cacheable-response.CacheableResponsePlugin
উদাহরণ যুক্ত করবে। - মেয়াদ
এক্সপায়ারেশন প্লাগিনঅপশনগুলি al চ্ছিক
এটি কনফিগার করা
handler
কনফিগার করাworkbox-strategies
একটিworkbox-expiration.ExpirationPlugin
উদাহরণ যুক্ত করবে। - ফেচোপশনস
অনুরোধ in চ্ছিক
এটি কনফিগার করা
handler
কনফিগার করাworkbox-strategies
fetchOptions
মান বরাবর পাস করবে। - ম্যাচোপশনস
C
এটি কনফিগার করা
handler
কনফিগার করাworkbox-strategies
matchOptions
মান বরাবর পাস করবে। - নেটওয়ার্কটাইমআউটসেকেন্ডস
সংখ্যা al চ্ছিক
যদি সরবরাহ করা হয় তবে এটি
handler
কনফিগার করাworkbox-strategies
networkTimeoutSeconds
সম্পত্তি সেট করবে। নোট করুন যে কেবলমাত্র'NetworkFirst'
এবং'NetworkOnly'
সমর্থনnetworkTimeoutSeconds
। - প্লাগইন
ওয়ার্কবক্সপ্লাগিন [] al চ্ছিক
এটি কনফিগার করা এক বা একাধিক ওয়ার্কবক্স প্লাগইনগুলির ব্যবহারের অনুমতি দেয় যার "শর্টকাট" বিকল্প নেই (যেমন
workbox-expiration.ExpirationPlugin
জন্যexpiration
মতো)। এখানে প্রদত্ত প্লাগইনগুলিhandler
কনফিগার করাworkbox-strategies
যুক্ত করা হবে। - প্রাক্যাচ্যাফলব্যাক
বস্তু ঐচ্ছিক
এটি কনফিগার করা
handler
কনফিগার করাworkbox-strategies
একটিworkbox-precaching.PrecacheFallbackPlugin
উদাহরণ যুক্ত করবে।- ফ্যালব্যাকুরল
স্ট্রিং
- rangerquests
বুলিয়ান al চ্ছিক
এটি সক্ষম করা
handler
কনফিগার করাworkbox-strategies
একটিworkbox-range-requests.RangeRequestsPlugin
উদাহরণ যুক্ত করবে।
- urlpattern
স্ট্রিং | RegExp | ROUTEMACHCALLBACK
এই ম্যাচের মানদণ্ডটি নির্ধারণ করে যে কনফিগার করা হ্যান্ডলারটি কোনও অনুরোধের জন্য প্রতিক্রিয়া তৈরি করবে যা প্রাক্কেড ইউআরএলগুলির মধ্যে একটির সাথে মেলে না। যদি একাধিক
RuntimeCaching
রুটগুলি সংজ্ঞায়িত করা হয়, তবে প্রথমটি যারurlPattern
ম্যাচগুলি প্রতিক্রিয়া জানায়।এই মানটি সরাসরি প্রথম প্যারামিটারে ম্যাপ করে
workbox-routing.registerRoute
.registerroute এ চলে গেছে। এটি একটিworkbox-core.RouteMatchCallback
ব্যবহার করার পরামর্শ দেওয়া হচ্ছে rout
StrategyName
এনাম
"ক্যাচফার্স্ট" "ক্যাচিওলি" "নেটওয়ার্কফার্স্ট" "নেটওয়ার্কোনলি" "স্টেলহিলারওয়ালিডেট"
WebpackGenerateSWOptions
টাইপ
WebpackGenerateSWPartial
বৈশিষ্ট্য
- আমদানি স্ক্রিপ্টসভিয়াচঙ্কস
স্ট্রিং[] ঐচ্ছিক
ওয়েবপ্যাক খণ্ডগুলির এক বা একাধিক নাম। এই খণ্ডগুলির বিষয়বস্তুগুলি
importScripts()
এ কলের মাধ্যমে উত্পাদিত পরিষেবা কর্মীর মধ্যে অন্তর্ভুক্ত করা হবে। - swdest
স্ট্রিং ঐচ্ছিক
ডিফল্ট মান হ'ল: "পরিষেবা-কর্মী.জেএস"
এই প্লাগইন দ্বারা নির্মিত পরিষেবা কর্মী ফাইলের সম্পত্তির নাম।
WebpackInjectManifestOptions
টাইপ
WebpackInjectManifestPartial
বৈশিষ্ট্য
- সংকলন
বুলিয়ান al চ্ছিক
ডিফল্ট মান হল: সত্য
যখন
true
(ডিফল্ট),swSrc
ফাইলটি ওয়েবপ্যাক দ্বারা সংকলিত হবে। যখনfalse
, সংকলন ঘটবে না (এবংwebpackCompilationPlugins
ব্যবহার করা যাবে না)) আপনি যদিfalse
ইনজেকশন করতে চান তবে যেমন একটি জেএসএন ফাইল। - swdest
স্ট্রিং ঐচ্ছিক
পরিষেবা কর্মী ফাইলের সম্পত্তির নাম যা এই প্লাগইন দ্বারা তৈরি করা হবে। যদি বাদ দেওয়া হয় তবে নামটি
swSrc
নামের উপর ভিত্তি করে তৈরি করা হবে। - ওয়েবপ্যাককম্পিলেশনপ্লাগিনস
যে কোনও [] al চ্ছিক
Al চ্ছিক
webpack
প্লাগইনগুলি যাswSrc
ইনপুট ফাইলটি সংকলন করার সময় ব্যবহৃত হবে। কেবলমাত্র বৈধ যদিcompileSrc
true
হয়।
WebpackPartial
বৈশিষ্ট্য
- খণ্ড
স্ট্রিং[] ঐচ্ছিক
এক বা একাধিক অংশের নাম যাদের সম্পর্কিত আউটপুট ফাইলগুলি প্রাকাচে ম্যানিফেস্টে অন্তর্ভুক্ত করা উচিত।
- বাদ
(স্ট্রিং | Regexp | ফাংশন) [] al চ্ছিক
এক বা একাধিক স্পেসিফায়ার প্রাকাচে ম্যানিফেস্ট থেকে সম্পদ বাদ দিতে ব্যবহৃত হয়।
webpack
স্ট্যান্ডার্ডexclude
বিকল্প হিসাবে একই নিয়ম অনুসরণ করে এটি ব্যাখ্যা করা হয়। যদি সরবরাহ না করা হয় তবে ডিফল্ট মানটি হ'ল[/\.map$/, /^manifest.*\.js$]
- বঞ্চিত
স্ট্রিং[] ঐচ্ছিক
এক বা একাধিক অংশের নাম যার সাথে সম্পর্কিত আউটপুট ফাইলগুলি প্রাকাচে ম্যানিফেস্ট থেকে বাদ দেওয়া উচিত।
- অন্তর্ভুক্ত
(স্ট্রিং | Regexp | ফাংশন) [] al চ্ছিক
এক বা একাধিক স্পেসিফায়ার প্রাকাচে ম্যানিফেস্টে সম্পদ অন্তর্ভুক্ত করতে ব্যবহৃত হয়।
webpack
স্ট্যান্ডার্ডinclude
বিকল্প হিসাবে একই নিয়ম অনুসরণ করে এটি ব্যাখ্যা করা হয়। - মোড
স্ট্রিং ঐচ্ছিক
যদি 'প্রোডাকশন' এ সেট করা থাকে তবে ডিবাগিং তথ্য বাদ দিয়ে একটি অনুকূলিত পরিষেবা কর্মী বান্ডিল উত্পাদিত হবে। যদি এখানে স্পষ্টভাবে কনফিগার না করা হয় তবে বর্তমান
webpack
সংকলনে কনফিগার করাmode
মানটি ব্যবহার করা হবে।
পদ্ধতি
copyWorkboxLibraries()
workbox-build.copyWorkboxLibraries(
destDirectory: string,
)
এটি স্থানীয় ডিরেক্টরিতে ওয়ার্কবক্স দ্বারা ব্যবহৃত রানটাইম লাইব্রেরিগুলির একটি সেটের উপর অনুলিপি করে, যা আপনার পরিষেবা কর্মী ফাইলের পাশাপাশি স্থাপন করা উচিত।
এই স্থানীয় অনুলিপিগুলি মোতায়েনের বিকল্প হিসাবে, আপনি পরিবর্তে এর অফিসিয়াল সিডিএন ইউআরএল থেকে ওয়ার্কবক্স ব্যবহার করতে পারেন।
workbox-build.injectManifest
ব্যবহার করে বিকাশকারীদের সুবিধার জন্য এই পদ্ধতিটি উন্মুক্ত করা হয়েছে যারা ওয়ার্কবক্সের সিডিএন অনুলিপি ব্যবহার না করতে পছন্দ করবেন। workbox-build.generateSW
ব্যবহার করে বিকাশকারীদের স্পষ্টভাবে এই পদ্ধতিটি কল করার দরকার নেই।
পরামিতি
- ডেসটিডাইরেক্টরি
স্ট্রিং
পিতামাতার ডিরেক্টরিটির পথ যার অধীনে গ্রন্থাগারগুলির নতুন ডিরেক্টরি তৈরি করা হবে।
রিটার্নস
প্রতিশ্রুতি <স্ট্রিং>
সদ্য নির্মিত ডিরেক্টরিটির নাম।
generateSW()
workbox-build.generateSW(
config: GenerateSWOptions,
)
এই পদ্ধতিটি আপনার সরবরাহিত বিকল্পগুলির উপর ভিত্তি করে "প্রাকাচে ম্যানিফেস্ট" হিসাবে উল্লেখ করা প্রাকচাচের জন্য ইউআরএলগুলির একটি তালিকা তৈরি করে।
এটি অতিরিক্ত বিকল্পগুলিও গ্রহণ করে যা পরিষেবা কর্মীর আচরণকে কনফিগার করে, যেমন কোনও runtimeCaching
নিয়ম ব্যবহার করা উচিত।
প্রাকাচে ম্যানিফেস্ট এবং অতিরিক্ত কনফিগারেশনের উপর ভিত্তি করে, এটি 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: '...',
});
পরামিতি
- কনফিগারেশন
রিটার্নস
প্রতিশ্রুতি <Buildresult>
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: ...,
});
পরামিতি
- কনফিগারেশন
রিটার্নস
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: '...',
});
পরামিতি
- কনফিগারেশন
রিটার্নস
প্রতিশ্রুতি <Buildresult>