ওয়ার্কবক্স-বিল্ড

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 ব্যবহার করতে চান।

  • নেভিগেটFallbackAllowlist

    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

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

বৈশিষ্ট্য

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: ...,
});

পরামিতি

রিটার্নস

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 ব্যবহার করতে চান।

  • নেভিগেটFallbackAllowlist

    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

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

বৈশিষ্ট্য

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 উদাহরণ যুক্ত করবে।

    • ব্রডকাস্টআপডেট

      বস্তু ঐচ্ছিক

      এটি কনফিগার করা handler কনফিগার করা workbox-strategies একটি workbox-broadcast-update.BroadcastUpdatePlugin উদাহরণ যুক্ত করবে।

    • ক্যাশেনাম

      স্ট্রিং ঐচ্ছিক

      যদি সরবরাহ করা হয় তবে এটি handler কনফিগার করা workbox-strategies cacheName সম্পত্তি সেট করবে।

    • ক্যাশেব্লারস্পোনস

      C

      এটি কনফিগার করা handler কনফিগার করা workbox-strategies একটি workbox-cacheable-response.CacheableResponsePlugin উদাহরণ যুক্ত করবে।

    • এটি কনফিগার করা handler কনফিগার করা workbox-strategies একটি workbox-expiration.ExpirationPlugin উদাহরণ যুক্ত করবে।

    • ফেচোপশনস

      অনুরোধ in চ্ছিক

      এটি কনফিগার করা handler কনফিগার করা workbox-strategies fetchOptions মান বরাবর পাস করবে।

    • ম্যাচোপশনস

      C

      এটি কনফিগার করা handler কনফিগার করা workbox-strategies matchOptions মান বরাবর পাস করবে।

    • নেটওয়ার্কটাইমআউটসেকেন্ডস

      সংখ্যা al চ্ছিক

      যদি সরবরাহ করা হয় তবে এটি handler কনফিগার করা workbox-strategies networkTimeoutSeconds সম্পত্তি সেট করবে। নোট করুন যে কেবলমাত্র 'NetworkFirst' এবং 'NetworkOnly' সমর্থন networkTimeoutSeconds

    • প্লাগইন

      এটি কনফিগার করা এক বা একাধিক ওয়ার্কবক্স প্লাগইনগুলির ব্যবহারের অনুমতি দেয় যার "শর্টকাট" বিকল্প নেই (যেমন 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: '...',
});

পরামিতি

রিটার্নস

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: '...',
});

পরামিতি

রিটার্নস