Workbox v2 থেকে v3 তে, Workbox v2 থেকে v3 তে স্থানান্তর করুন

ওয়ার্কবক্স v2 সেটআপ থেকে আপগ্রেড করার সময় আপনাকে কী পরিবর্তন করতে হবে তার উদাহরণ সহ এই নির্দেশিকাটি ওয়ার্কবক্স v3-তে প্রবর্তিত পরিবর্তনগুলি ভাঙার উপর দৃষ্টি নিবদ্ধ করে।

আপনি যদি বর্তমানে লিগ্যাসি sw-precache / sw-toolbox সংমিশ্রণটি ব্যবহার করছেন এবং প্রথমবারের মতো Workbox-এ রূপান্তর করতে চান, তাহলে এখানে একটি ভিন্ন মাইগ্রেশন গাইড রয়েছে যা সাহায্য করবে৷

v3 ব্যাকগ্রাউন্ড

ওয়ার্কবক্সের v3 রিলিজ বিদ্যমান কোডবেসের একটি উল্লেখযোগ্য রিফ্যাক্টরিং প্রতিনিধিত্ব করে। প্রধান লক্ষ্যগুলি হল:

  • ওয়ার্কবক্সের আকার ছোট করুন। পরিষেবা কর্মী রানটাইম কোডের পরিমাণ যা ডাউনলোড এবং কার্যকর করা হয়েছে তা হ্রাস করা হয়েছে। একটি মনোলিথিক বান্ডেলে প্রত্যেককে বেছে নেওয়ার পরিবর্তে, আপনি যে নির্দিষ্ট বৈশিষ্ট্যগুলি ব্যবহার করছেন তার জন্য শুধুমাত্র কোডটি রানটাইমে আমদানি করা হবে৷
  • ওয়ার্কবক্সে একটি CDN আছে। ওয়ার্কবক্স রানটাইম লাইব্রেরিগুলি অ্যাক্সেস করার জন্য আমরা একটি সম্পূর্ণ সমর্থিত, Google ক্লাউড স্টোরেজ-ভিত্তিক CDN হোস্টিং প্রদান করি, যা ওয়ার্কবক্সের সাথে উঠা এবং চালানো সহজ করে তোলে।
  • ভাল ডিবাগিং এবং লগ. ডিবাগিং এবং লগিং অভিজ্ঞতা ব্যাপকভাবে উন্নত করা হয়েছে। যখনই localhost থেকে ওয়ার্কবক্স ব্যবহার করা হয় তখন ডিবাগ লগগুলি ডিফল্টরূপে সক্রিয় থাকে এবং সমস্ত লগিং এবং দাবী প্রোডাকশন বিল্ড থেকে বাদ দেওয়া হয়। ওয়ার্কবক্স v3 দ্বারা অফার করা ডিবাগ লগিংয়ের একটি উদাহরণ।
  • উন্নত ওয়েবপ্যাক প্লাগইন। 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: []};
};

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-cli alias-এর জন্য সমর্থন সরানো হয়েছে। বাইনারি এখন শুধুমাত্র 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() এর প্রথম প্যারামিটার হিসাবে ব্যবহৃত স্ট্রিংগুলি এখন সঠিক মিল হিসাবে বিবেচিত হবে। ওয়াইল্ডকার্ড বা আংশিক মিলগুলি RegExp s দ্বারা পরিচালনা করা উচিত—যেকোনও 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 তে সমর্থিত নয়। যে সকল ডেভেলপারদের তাদের পরিষেবা কর্মীকে পরীক্ষা করার জন্য একই ধরনের কার্যকারিতা প্রয়োজন, তারা ক্রোমের ডেভেলপার টুলে উপলব্ধ " নেটওয়ার্কের জন্য বাইপাস " বিকল্পটি ব্যবহার করতে পারেন।
Chrome DevTools-এ বাইপাস ফর নেটওয়ার্ক বিকল্প।

ওয়ার্কবক্স-ওয়েবপ্যাক-প্লাগইন

প্লাগইনটি যথেষ্ট পরিমাণে পুনর্লিখন করা হয়েছে, এবং অনেক ক্ষেত্রে, একটি "শূন্য-কনফিগারেশন" মোডে ব্যবহার করা যেতে পারে। আপডেট করা API পৃষ্ঠের জন্য ডকুমেন্টেশনের সাথে পরামর্শ করুন।

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

সাহায্য পাচ্ছেন

আমরা অনুমান করি যে বেশিরভাগ মাইগ্রেশন সোজা হবে। আপনি যদি এই নির্দেশিকায় কভার না করা সমস্যার সম্মুখীন হন, GitHub-এ একটি সমস্যা খোলার মাধ্যমে আমাদের জানান।