ওয়ার্কবক্স v2 সেটআপ থেকে আপগ্রেড করার সময় আপনাকে কী পরিবর্তন করতে হবে তার উদাহরণ সহ এই নির্দেশিকাটি ওয়ার্কবক্স v3-তে প্রবর্তিত পরিবর্তনগুলি ভাঙার উপর দৃষ্টি নিবদ্ধ করে।
আপনি যদি বর্তমানে লিগ্যাসি sw-precache / sw-toolbox সংমিশ্রণটি ব্যবহার করছেন এবং প্রথমবারের মতো Workbox-এ রূপান্তর করতে চান, তাহলে এখানে একটি ভিন্ন মাইগ্রেশন গাইড রয়েছে যা সাহায্য করবে৷
v3 ব্যাকগ্রাউন্ড
ওয়ার্কবক্সের v3 রিলিজ বিদ্যমান কোডবেসের একটি উল্লেখযোগ্য রিফ্যাক্টরিং প্রতিনিধিত্ব করে। প্রধান লক্ষ্যগুলি হল:
- ওয়ার্কবক্সের আকার ছোট করুন। পরিষেবা কর্মী রানটাইম কোডের পরিমাণ যা ডাউনলোড এবং কার্যকর করা হয়েছে তা হ্রাস করা হয়েছে। একটি মনোলিথিক বান্ডেলে প্রত্যেককে বেছে নেওয়ার পরিবর্তে, আপনি যে নির্দিষ্ট বৈশিষ্ট্যগুলি ব্যবহার করছেন তার জন্য শুধুমাত্র কোডটি রানটাইমে আমদানি করা হবে৷
- ওয়ার্কবক্সে একটি CDN আছে। ওয়ার্কবক্স রানটাইম লাইব্রেরিগুলি অ্যাক্সেস করার জন্য আমরা একটি সম্পূর্ণ সমর্থিত, Google ক্লাউড স্টোরেজ-ভিত্তিক CDN হোস্টিং প্রদান করি, যা ওয়ার্কবক্সের সাথে উঠা এবং চালানো সহজ করে তোলে।
- ভাল ডিবাগিং এবং লগ. ডিবাগিং এবং লগিং অভিজ্ঞতা ব্যাপকভাবে উন্নত করা হয়েছে। যখনই
localhostথেকে ওয়ার্কবক্স ব্যবহার করা হয় তখন ডিবাগ লগগুলি ডিফল্টরূপে সক্রিয় থাকে এবং সমস্ত লগিং এবং দাবী প্রোডাকশন বিল্ড থেকে বাদ দেওয়া হয়।
- উন্নত ওয়েবপ্যাক প্লাগইন।
workbox-webpack-pluginওয়েবপ্যাক বিল্ড প্রক্রিয়ার সাথে আরও ঘনিষ্ঠভাবে সংহত করে, যখন আপনি বিল্ড পাইপলাইনে সমস্ত সম্পত্তি প্রিক্যাচ করতে চান তখন একটি শূন্য-কনফিগার ব্যবহারের ক্ষেত্রে অনুমতি দেয়।
এই লক্ষ্যগুলি অর্জন করা, এবং আগের ইন্টারফেসের কিছু দিক পরিষ্কার করা যা বিশ্রী মনে হয়েছিল বা অ্যান্টিপ্যাটার্নের দিকে পরিচালিত করেছিল, v3 রিলিজে বেশ কয়েকটি ব্রেকিং পরিবর্তন প্রবর্তন করতে হবে।
ব্রেকিং পরিবর্তন
কনফিগারেশন তৈরি করুন
নিম্নলিখিত পরিবর্তনগুলি আমাদের সমস্ত বিল্ড টুলের আচরণকে প্রভাবিত করে ( workbox-build , workbox-cli , workbox-webpack-plugin ), যা কনফিগারেশন বিকল্পগুলির একটি সাধারণ সেট ভাগ করে।
-
'fastest'হ্যান্ডলারের নামটি আগে বৈধ ছিল, এবংruntimeCachingকনফিগার করার সময়'staleWhileRevalidate'এর একটি উপনাম হিসাবে বিবেচিত হয়েছিল। এটি আর বৈধ নয়, এবং ডেভেলপারদের সরাসরি'staleWhileRevalidate'ব্যবহারে স্যুইচ করা উচিত। - বেশ কয়েকটি
runtimeCaching.optionsসম্পত্তির নাম আপডেট করা হয়েছে, এবং অতিরিক্ত প্যারামিটার বৈধতা রয়েছে যা একটি অবৈধ কনফিগারেশন ব্যবহার করা হলে একটি বিল্ড ব্যর্থ হবে৷ বর্তমানে সমর্থিত বিকল্পগুলির একটি তালিকার জন্যruntimeCachingডকুমেন্টেশন দেখুন।
ওয়ার্কবক্স-ব্যাকগ্রাউন্ড-সিঙ্ক
-
maxRetentionTimeকনফিগারেশন পরামিতি এখন মিলিসেকেন্ডের সংখ্যার পরিবর্তে মিনিটের সংখ্যা হিসাবে ব্যাখ্যা করা হয়। - এখন একটি প্রয়োজনীয় স্ট্রিং আছে, সারির নামের প্রতিনিধিত্ব করে, যেটিকে প্লাগইন বা স্বতন্ত্র ক্লাস তৈরি করার সময় প্রথম প্যারামিটার হিসেবে পাস করতে হবে। (এটি পূর্বে বিকল্পগুলির একটি সম্পত্তি হিসাবে পাস করা হয়েছিল।) আপডেট করা API পৃষ্ঠের জন্য ডকুমেন্টেশনের সাথে পরামর্শ করুন।
ওয়ার্কবক্স-ব্রডকাস্ট-ক্যাশে-আপডেট
- এখন চ্যানেলের নামের প্রতিনিধিত্বকারী একটি প্রয়োজনীয় স্ট্রিং আছে, যেটিকে প্লাগইন বা স্বতন্ত্র শ্রেণী তৈরি করার সময় প্রথম প্যারামিটার হিসেবে পাস করতে হবে।
উদাহরণস্বরূপ, v2 তে আপনি প্লাগইন ক্লাসটি নিম্নরূপ শুরু করবেন:
new workbox.broadcastCacheUpdate.BroadcastCacheUpdatePlugin({
channelName: 'cache-updates',
headersToCheck: ['etag'],
});
v3 এর সমতুল্য ব্যবহার হল:
new workbox.broadcastUpdate.Plugin('cache-updates', {headersToCheck: ['etag']});
আপডেট করা API পৃষ্ঠের জন্য ডকুমেন্টেশনের সাথে পরামর্শ করুন।
ওয়ার্কবক্স-বিল্ড
- ডিফল্টরূপে,
globপ্যাটার্ন ম্যাচিং এখন অনুসরণ করা বিকল্পগুলির সাথে সঞ্চালিত হবেfollow: true(যা সিমলিংকগুলি অনুসরণ করবে) এবংstrict: true(যা "অস্বাভাবিক" ত্রুটিগুলির জন্য কম সহনশীল)৷ আপনি হয় নিষ্ক্রিয় করতে পারেন এবং আপনার বিল্ড কনফিগারেশনেglobFollow: falseএবং/অথবাglobStrict: falseসেট করে আগের আচরণে ফিরে যেতে পারেন। -
workbox-buildসমস্ত ফাংশনগুলি একটি অতিরিক্ত সম্পত্তি,warningsপ্রদান করে, যে প্রতিক্রিয়াগুলি তারা ফেরত দেয়। v2 তে মারাত্মক ত্রুটি হিসাবে বিবেচিত কিছু পরিস্থিতি এখন অনুমোদিত, তবেwarningsমাধ্যমে রিপোর্ট করা হয়েছে, যা স্ট্রিংগুলির একটি অ্যারে।
v2 তে, আপনি generateSW কল করতে পারেন যেমন:
const workboxBuild = require('workbox-build');
workboxBuild.generateSW({...})
.then(({count, size}) => console.log(`Precached ${count} files, totaling ${size} bytes.`))
.catch((error) => console.error(`Something went wrong: ${error}`));
আপনি যখন v3 তে একই কোড ব্যবহার করতে পারেন, তখন যেকোনো warnings চেক করা এবং সেগুলি লগ করা একটি ভাল ধারণা:
const workboxBuild = require('workbox-build');
workboxBuild.generateSW({...})
.then(({count, size, warnings}) => {
for (const warning of warnings) {
console.warn(warning);
}
console.log(`Precached ${count} files, totalling ${size} bytes.`);
})
.catch((error) => console.error(`Something went wrong: ${error}`));
- বিকাশকারীরা যারা v2 তে তাদের নিজস্ব কাস্টম
ManifestTransformফাংশন লিখেছেন তাদের একটি বস্তুতে ম্যানিফেস্ট অ্যারে ফেরত দিতে হবে (যেমনreturn manifestArray;আপনারreturn {manifest: manifestArray};) ব্যবহার করা উচিত।m এটি আপনার প্লাগইনকে একটি ঐচ্ছিকwarningsবৈশিষ্ট্য অন্তর্ভুক্ত করতে দেয়, যা অ-মারাত্মক সতর্কতা তথ্য ধারণকারী স্ট্রিংগুলির একটি অ্যারে হওয়া উচিত।
আপনি যদি v2 তে একটি কাস্টম ManifestTransform লিখছেন, তাহলে কোডটি যেমন:
const cdnTransform = manifestEntries => {
return manifestEntries.map(entry => {
const cdnOrigin = 'https://example.com';
if (entry.url.startsWith('/assets/')) {
entry.url = cdnOrigin + entry.url;
}
return entry;
});
};
একটি v3 এর সমতুল্য রয়েছে:
const cdnTransform = manifestEntries => {
const manifest = manifestEntries.map(entry => {
const cdnOrigin = 'https://example.com';
if (entry.url.startsWith('/assets/')) {
entry.url = cdnOrigin + entry.url;
}
return entry;
});
return {manifest, warnings: []};
};
-
getFileManifestEntries()ফাংশনটির নাম পরিবর্তন করেgetManifest()করা হয়েছে, এবং প্রত্যাবর্তিত প্রতিশ্রুতিতে এখন প্রিক্যাচ করা URL সম্পর্কে অতিরিক্ত তথ্য অন্তর্ভুক্ত রয়েছে ।
v2 তে নিচের মত কোড:
const manifestEntries = await workboxBuild.getFileManifestEntries({...});
v3 তে এইভাবে পুনরায় লেখা যেতে পারে:
const {manifestEntries, count, size, warnings} = await workboxBuild.getManifest({...});
// Use manifestEntries like before.
// Optionally, log the new info returned in count, size, warnings.
-
generateFileManifest()ফাংশনটি সরানো হয়েছে। বিকাশকারীদের পরিবর্তেgetManifest()কল করতে এবং উপযুক্ত বিন্যাসে ডিস্কে ডেটা লিখতে এর প্রতিক্রিয়া ব্যবহার করতে উত্সাহিত করা হয়।
ওয়ার্কবক্স-ক্যাশে-মেয়াদ
- প্লাগইন API একই রয়ে গেছে, যেটি মোড যা বেশিরভাগ বিকাশকারীরা ব্যবহার করবেন। তবে এখানে উল্লেখযোগ্য API পরিবর্তন রয়েছে যা বিকাশকারীদের প্রভাবিত করে যারা এটিকে একটি স্বতন্ত্র শ্রেণী হিসাবে ব্যবহার করে। আপডেট করা API পৃষ্ঠের জন্য ডকুমেন্টেশনের সাথে পরামর্শ করুন।
workbox-cli
ডেভেলপাররা সমর্থিত প্যারামিটারের সম্পূর্ণ সেটের জন্য --help পতাকা দিয়ে CLI চালাতে পারে।
- বাইনারি স্ক্রিপ্টের জন্য
workbox-clialias-এর জন্য সমর্থন সরানো হয়েছে। বাইনারি এখন শুধুমাত্রworkboxহিসাবে অ্যাক্সেস করা যেতে পারে। - v2 কমান্ড
generate:swএবংinject:manifestনাম পরিবর্তন করেgenerateSWএবং v3 তেinjectManifestকরা হয়েছে। - v2-এ, ডিফল্ট কনফিগারেশন ফাইল (যখন একটি স্পষ্টভাবে প্রদান করা হয়নি তখন ব্যবহার করা হয়) বর্তমান ডিরেক্টরিতে
workbox-cli-config.jsবলে ধরে নেওয়া হয়েছিল। v3-এ, এটাworkbox-config.js।
একসাথে নেওয়া, এর মানে হল v2 তে:
$ workbox inject:manifest
workbox-cli-config.js থেকে পড়া একটি কনফিগারেশন ব্যবহার করে এবং v3-তে "ইনজেক্ট ম্যানিফেস্ট" বিল্ড প্রক্রিয়া চালাবে:
$ workbox injectManifest
একই কাজ করবে, কিন্তু workbox-config.js থেকে কনফিগারেশন পড়ুন।
ওয়ার্কবক্স-প্রেক্যাচিং
-
precache()পদ্ধতিটি পূর্বে ক্যাশে পরিবর্তন এবং ক্যাশে করা এন্ট্রি পরিবেশন করার জন্য রাউটিং সেট আপ উভয়ই সঞ্চালিত করেছিল। এখন,precache()শুধুমাত্র ক্যাশে এন্ট্রি পরিবর্তন করে, এবং একটি নতুন পদ্ধতি,addRoute(), সেই ক্যাশে করা প্রতিক্রিয়াগুলি পরিবেশন করার জন্য একটি রুট নিবন্ধনের জন্য উন্মুক্ত করা হয়েছে। ডেভেলপাররা যারা আগের, টু-ইন-ওয়ান কার্যকারিতা চান তারা কলিংprecacheAndRoute()এ স্যুইচ করতে পারেন। -
WorkboxSWকনস্ট্রাক্টরের মাধ্যমে কনফিগার করা বেশ কয়েকটি বিকল্প এখনworkbox.precaching.precacheAndRoute([...], options)-এoptionsপ্যারামিটার হিসাবে পাস করা হয়েছে। এই বিকল্পগুলির জন্য ডিফল্টগুলি, যখন কনফিগার করা হয় না, রেফারেন্স ডক্সে তালিকাভুক্ত করা হয়। - ডিফল্টরূপে, যে URLগুলিতে কোনো ফাইল এক্সটেনশন নেই সেগুলি স্বয়ংক্রিয়ভাবে
.htmlএক্সটেনশন ধারণকারী ক্যাশে এন্ট্রির সাথে মিলের জন্য চেক করা হবে৷ উদাহরণস্বরূপ, যদি/path/to/indexএর জন্য একটি অনুরোধ করা হয় (যা প্রিক্যাচেড নয়) এবং/path/to/index.htmlএর জন্য একটি প্রিক্যাচেড এন্ট্রি থাকে, তাহলে সেই প্রিক্যাচেড এন্ট্রি ব্যবহার করা হবে।workbox.precaching.precacheAndRoute()এ বিকল্পগুলি পাস করার সময় বিকাশকারীরা{cleanUrls: false}সেট করে এই নতুন আচরণটি অক্ষম করতে পারেন। -
workbox-broadcast-updateআর স্বয়ংক্রিয়ভাবে কনফিগার করা হবে না প্রিক্যাচেড সম্পদের জন্য ক্যাশে আপডেট ঘোষণা করার জন্য।
v2 তে নিম্নলিখিত কোড:
const workboxSW = new self.WorkboxSW({
directoryIndex: 'index.html',
ignoreUrlParametersMatching: [/^utm_/],
precacheChannelName: 'precache-updates',
});
workboxSW.precache([...]);
একটি v3 এর সমতুল্য রয়েছে:
workbox.precaching.addPlugins([
new workbox.broadcastUpdate.Plugin('precache-updates')
]);
workbox.precaching.precacheAndRoute([...], {
cleanUrls: false,
directoryIndex: 'index.html',
ignoreUrlParametersMatching: [/^utm_/],
});
ওয়ার্কবক্স-রাউটিং
- ডেভেলপাররা যারা আগে ওয়ার্কবক্সএসডব্লিউ অবজেক্টের workbox.router এর মাধ্যমে
workbox-routingব্যবহার করেছেনworkbox.router.*নেমস্পেসকে নতুন নামস্থান,workbox.routing.*এ স্যুইচ করতে হবে। - রুটগুলি এখন প্রথম-নিবন্ধিত-জয় ক্রমে মূল্যায়ন করা হয়। এটি
Routeমূল্যায়নের বিপরীত ক্রম যা v2 তে ব্যবহৃত হয়েছিল, যেখানে সর্বশেষ-নিবন্ধিতRouteঅগ্রাধিকার দেওয়া হবে। -
ExpressRouteক্লাস, এবং "এক্সপ্রেস-শৈলী" ওয়াইল্ডকার্ডের সমর্থন সরানো হয়েছে । এটিworkbox-routingএর আকার উল্লেখযোগ্যভাবে হ্রাস করে।workbox.routing.registerRoute()এর প্রথম প্যারামিটার হিসাবে ব্যবহৃত স্ট্রিংগুলি এখন সঠিক মিল হিসাবে বিবেচিত হবে। ওয়াইল্ডকার্ড বা আংশিক মিলগুলিRegExps দ্বারা পরিচালনা করা উচিত—যেকোনওRegExpব্যবহার করে যা আংশিক বা সমস্ত অনুরোধ URL এর সাথে মেলে একটি রুট ট্রিগার করতে পারে৷ -
Routerক্লাসেরaddFetchListener()সহায়ক পদ্ধতিটি সরানো হয়েছে। বিকাশকারীরা হয় স্পষ্টভাবে তাদের নিজস্বfetchহ্যান্ডলার যোগ করতে পারে, অথবাworkbox.routingদ্বারা প্রদত্ত ইন্টারফেস ব্যবহার করতে পারে, যা তাদের জন্য একটিfetchহ্যান্ডলার তৈরি করবে। -
registerRoutes()এবংunregisterRoutes()পদ্ধতি মুছে ফেলা হয়েছে। যে পদ্ধতিগুলি একটি এককRouteকাজ করে সেগুলির সংস্করণগুলি পরিবর্তন করা হয়নি, এবং ডেভেলপারদের যারা একবারে একাধিক রুট নিবন্ধন বা আনরেজিস্টার করতে হবে তাদের পরিবর্তেregisterRoute()বাunregisterRoute()জন্য একটি সিরিজ কল করা উচিত।
v2 তে নিম্নলিখিত কোড:
const workboxSW = new self.WorkboxSW();
workboxSW.router.registerRoute(
'/path/with/.*/wildcard/',
workboxSW.strategies.staleWhileRevalidate()
);
workboxSW.router.registerRoute(
new RegExp('^https://example.com/'),
workboxSW.strategies.networkFirst()
);
একটি v3 এর সমতুল্য রয়েছে:
workbox.routing.registerRoute(
new RegExp('^https://example.com/'),
workbox.strategies.networkFirst()
);
workbox.routing.registerRoute(
new RegExp('^/path/with/.*/wildcard'),
workbox.strategies.staleWhileRevalidate()
);
ওয়ার্কবক্স-কৌশল (পূর্বে ওয়ার্কবক্স-রানটাইম-ক্যাশিং নামে পরিচিত)
-
workbox-runtime-cachingমডিউলটি এখন আনুষ্ঠানিকভাবেworkbox-strategiesনামে পরিচিত, এবংnpmএ এর নতুন নামে প্রকাশিত হয়েছে। - ক্যাশের নাম সরবরাহ না করে একটি কৌশলে ক্যাশের মেয়াদ শেষ হওয়া ব্যবহার করা আর বৈধ নয়। v2 তে, এটি সম্ভব ছিল:
workboxSW.strategies.staleWhileRevalidate({
cacheExpiration: {maxEntries: 50},
});
এটি ডিফল্ট ক্যাশে এন্ট্রির মেয়াদ উত্তীর্ণ হতে পারে, যা অপ্রত্যাশিত। v3 তে, একটি ক্যাশে নাম প্রয়োজন:
workboxSW.strategies.staleWhileRevalidate({
cacheName: 'my-cache',
plugins: [new workbox.expiration.Plugin({maxEntries: 50})],
});
cacheWillMatchলাইফসাইকেল পদ্ধতির নাম পরিবর্তন করেcachedResponseWillBeUsedকরা হয়েছে। এটি বিকাশকারীদের জন্য দৃশ্যমান পরিবর্তন হওয়া উচিত নয় যদি না তারা তাদের নিজস্ব প্লাগইনগুলি না লিখে যাcacheWillMatchএ প্রতিক্রিয়া জানায়।- একটি কৌশল কনফিগার করার সময় প্লাগইনগুলি নির্দিষ্ট করার জন্য সিনট্যাক্স পরিবর্তিত হয়েছে৷ প্রতিটি প্লাগইনকে কৌশলের কনফিগারেশনের
pluginsবৈশিষ্ট্যে স্পষ্টভাবে তালিকাভুক্ত করা প্রয়োজন।
v2 তে নিম্নলিখিত কোড:
const workboxSW = new self.WorkboxSW();
const networkFirstStrategy = workboxSW.strategies.networkFirst({
cacheName: 'my-cache',
networkTimeoutSeconds: 5,
cacheExpiration: {
maxEntries: 50,
},
cacheableResponse: {
statuses: [0, 200],
},
});
একটি v3 এর সমতুল্য রয়েছে:
const networkFirstStrategy = workbox.strategies.networkFirst({
cacheName: 'my-cache',
networkTimeoutSeconds: 5,
plugins: [
new workbox.expiration.Plugin({maxEntries: 50}),
new workbox.cacheableResponse.Plugin({statuses: [0, 200]}),
],
});
আপনি " প্লাগইন ব্যবহার " নির্দেশিকা থেকে আরও জানতে পারেন৷
workbox-sw
- হুডের নিচে,
workbox-swএকটি হালকা ওজনের "লোডার" ইন্টারফেস হিসাবে পুনরায় লেখা হয়েছে, যা কিছু মৌলিক কনফিগারেশন নেয় এবং রানটাইমে প্রয়োজনীয় অন্যান্য মডিউলগুলিকে টেনে আনার জন্য দায়ী।WorkboxSWক্লাসের একটি নতুন দৃষ্টান্ত তৈরি করার পরিবর্তে, বিকাশকারীরা একটি বিদ্যমান উদাহরণের সাথে যোগাযোগ করবে যা স্বয়ংক্রিয়ভাবে বিশ্বব্যাপী নামস্থানে প্রকাশিত হয়।
পূর্বে v2 এ:
importScripts('<path to workbox-sw>/importScripts/workbox-sw.prod.v2.1.3.js');
const workbox = new WorkboxSW({
skipWaiting: true,
clientsClaim: true,
// etc.
});
workbox.router.registerRoute(...);
v3-এ, আপনাকে শুধু workbox-sw.js স্ক্রিপ্ট আমদানি করতে হবে, এবং একটি রেডি-টু-ব্যবহারের উদাহরণ স্বয়ংক্রিয়ভাবে বিশ্বব্যাপী নামস্থানে workbox হিসাবে উপলব্ধ হবে:
importScripts('<path to workbox-sw>/3.0.0/workbox-sw.js');
// workbox is implicitly created and ready for use.
workbox.routing.registerRoute(...);
skipWaitingএবংclientsClaimএখন আরWorkboxSWকনস্ট্রাক্টরের কাছে পাঠানো বিকল্প নয়। পরিবর্তে, তারাworkbox.clientsClaim()এবংworkbox.skipWaiting()পদ্ধতিতে পরিবর্তন করা হয়েছে।-
handleFetchবিকল্পটি যা আগে v2 কনস্ট্রাক্টরে সমর্থিত ছিল তা আর v3 তে সমর্থিত নয়। যে সকল ডেভেলপারদের তাদের পরিষেবা কর্মীকে পরীক্ষা করার জন্য একই ধরনের কার্যকারিতা প্রয়োজন, তারা ক্রোমের ডেভেলপার টুলে উপলব্ধ " নেটওয়ার্কের জন্য বাইপাস " বিকল্পটি ব্যবহার করতে পারেন।

ওয়ার্কবক্স-ওয়েবপ্যাক-প্লাগইন
প্লাগইনটি যথেষ্ট পরিমাণে পুনর্লিখন করা হয়েছে, এবং অনেক ক্ষেত্রে, একটি "শূন্য-কনফিগারেশন" মোডে ব্যবহার করা যেতে পারে। আপডেট করা API পৃষ্ঠের জন্য ডকুমেন্টেশনের সাথে পরামর্শ করুন।
- API এখন দুটি ক্লাস উন্মুক্ত করে,
GenerateSWএবংInjectManifest. এটি মোডগুলির মধ্যে টগলিংকে স্পষ্ট করে তোলে, বনাম v2 আচরণ যেখানেswSrcউপস্থিতির উপর ভিত্তি করে আচরণ পরিবর্তিত হয়। - ডিফল্টরূপে, ওয়েবপ্যাক সংকলন পাইপলাইনের সম্পদগুলি প্রিক্যাচ করা হবে, এবং
globPatternsকনফিগার করার আর প্রয়োজন নেই।globPatternsব্যবহার চালিয়ে যাওয়ার একমাত্র কারণ হল আপনার যদি এমন সম্পদগুলিকে প্রিক্যাচ করতে হয় যা আপনার ওয়েবপ্যাক বিল্ডে অন্তর্ভুক্ত নয় । সাধারণভাবে, v3 প্লাগইনে স্থানান্তরিত করার সময়, আপনার সমস্ত পূর্ববর্তীglob-ভিত্তিক কনফিগারেশন মুছে ফেলার মাধ্যমে শুরু করা উচিত, এবং যদি আপনার বিশেষভাবে এটির প্রয়োজন হয় তবেই এটি পুনরায় যোগ করুন।
সাহায্য পাচ্ছি
আমরা অনুমান করি যে বেশিরভাগ মাইগ্রেশন সোজা হবে। আপনি যদি এই নির্দেশিকায় কভার না করা সমস্যার সম্মুখীন হন, GitHub-এ একটি সমস্যা খোলার মাধ্যমে আমাদের জানান।