çalışma kutusu oluşturma

workbox-build modülü, düğüm tabanlı bir derleme işlemine entegre olur ve eksiksiz bir hizmet çalışanı oluşturabilir. Alternatif olarak, önbelleğe alınacak öğelerin listesini mevcut bir hizmet çalışanı içinde de kullanabilirsiniz.

Çoğu geliştiricinin kullanacağı iki mod şunlardır: generateSW ve injectManifest. Aşağıdaki soruların yanıtları, kullanılacak doğru modu ve yapılandırmayı seçmenize yardımcı olabilir.

Hangi Mod Kullanılmalı?

generateSW

generateSW modu, sizin için yapılandırma seçenekleri aracılığıyla özelleştirilen bir hizmet çalışanı dosyası oluşturur ve bunu diske yazar.

generateSW ne zaman kullanılır?

  • Dosyaları önbelleğe almak istiyorsunuz.
  • Çalışma zamanı önbelleğe almayla ilgili basit ihtiyaçlarınız var.

generateSW ne zaman KULLANILMAZ?

  • Diğer Service Worker özelliklerini (ör. Web Push) kullanmak istiyorsanız.
  • Ek komut dosyalarını içe aktarmak veya özel önbelleğe alma stratejileri için başka mantık eklemek istiyorsunuz.

injectManifest

injectManifest modu, önbelleğe alınacak URL'lerin listesini oluşturur ve bu ön önbellek manifestini mevcut bir hizmet çalışanı dosyasına ekler. Aksi takdirde dosyayı olduğu gibi bırakır.

injectManifest ne zaman kullanılır?

  • Service Worker'ınız üzerinde daha fazla kontrole sahip olmak istiyorsunuz.
  • Dosyaları önbelleğe almak istiyorsunuz.
  • Yönlendirmeyi ve stratejileri özelleştirmeniz gerekir.
  • Service Worker'ınızı diğer platform özellikleriyle (ör. Web Push) kullanmak istiyorsunuz.

injectManifest ne zaman KULLANILMAZ?

  • Sitenize Service Worker eklemenin en kolay yolunu öğrenmek istiyorsunuz.

generateSW Modu

generateSW modunu, en yaygın yapılandırma seçeneklerinden yararlanarak düğüm tabanlı bir derleme komut dosyasında kullanabilirsiniz. Örneğin:

// 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.`);
});

Bu işlem, yapılandırmanız tarafından toplanan tüm dosyalar için önbelleğe alma kurulumuna ve sağlanan çalışma zamanı önbelleğe alma kurallarına sahip bir hizmet çalışanı oluşturur.

Yapılandırma seçeneklerinin tamamını referans belgelerinde bulabilirsiniz.

injectManifest Modu

injectManifest modunu, en yaygın yapılandırma seçeneklerinden yararlanarak düğüm tabanlı bir derleme komut dosyasında kullanabilirsiniz. Örneğin:

// 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.`);
});

Bu işlem, yapılandırmanız tarafından alınan dosyalara dayalı bir ön önbellek manifesti oluşturur ve bunu mevcut Service Worker dosyanıza ekler.

Yapılandırma seçeneklerinin tamamını referans belgelerinde bulabilirsiniz.

Ek modlar

Çoğu geliştiricinin ihtiyaçlarına uygun generateSW veya injectManifest olacağını umuyoruz. Ancak belirli kullanım alanları için uygun olabilecek, workbox-build tarafından desteklenen başka bir mod da vardır.

getManifest Modu

Bu, kavram olarak injectManifest moduna benzer ancak manifesti kaynak hizmet çalışanı dosyasına eklemek yerine, giriş sayısı ve toplam boyutla ilgili bilgilerle birlikte manifest girişleri dizisini döndürür.

injectManifest modunu, en yaygın yapılandırma seçeneklerinden yararlanarak düğüm tabanlı bir derleme komut dosyasında kullanabilirsiniz. Örneğin:

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

Yapılandırma seçeneklerinin tamamını referans belgelerinde bulabilirsiniz.

Türler

BasePartial

Özellikler

  • additionalManifestEntries

    (dize|ManifestEntry)[] isteğe bağlı

    Derleme yapılandırmasının bir parçası olarak oluşturulan girişlere ek olarak, önceden önbelleğe alınacak girişlerin listesi.

  • dontCacheBustURLsMatching

    RegExp isteğe bağlı

    Bununla eşleşen öğelerin, URL'leri aracılığıyla benzersiz bir şekilde sürüm oluşturulduğu ve önbelleği doldururken yapılan normal HTTP önbellek bozma işleminden muaf olduğu varsayılır. Zorunlu olmamakla birlikte, mevcut derleme işleminiz her dosya adına zaten bir [hash] değeri ekliyorsa önbelleğe alma işlemi sırasında kullanılan bant genişliğini azaltacağından bunu algılayacak bir RegExp sağlamanız önerilir.

  • manifestTransforms

    ManifestTransform[] isteğe bağlı

    Oluşturulan manifeste sıralı olarak uygulanacak bir veya daha fazla işlevdir. modifyURLPrefix veya dontCacheBustURLsMatching de belirtilmişse önce bunlara karşılık gelen dönüşümler uygulanır.

  • maximumFileSizeToCacheInBytes

    numara isteğe bağlı

    Varsayılan değer: 2097152

    Bu değer, önceden önbelleğe alınacak dosyaların maksimum boyutunu belirlemek için kullanılabilir. Bu, kalıplarınızdan biriyle yanlışlıkla eşleşen çok büyük dosyaları yanlışlıkla önbelleğe almanızı önler.

  • modifyURLPrefix

    isteğe bağlı

    Bir nesne eşleme dizesi, değiştirme dizesi değerlerine ön ek getiriyor. Bu özellik, örneğin web barındırma kurulumunuz yerel dosya sistemi kurulumunuzla eşleşmiyorsa manifest girişinden bir yol önekini kaldırmak veya eklemek için kullanılabilir. Daha fazla esnekliğe sahip alternatif olarak manifestTransforms seçeneğini kullanabilir ve sağladığınız mantığı kullanarak manifest'teki girişleri değiştiren bir işlev sağlayabilirsiniz.

    Örnek kullanım:

    // Replace a '/dist/' prefix with '/', and also prepend
    // '/static' to every URL.
    modifyURLPrefix: {
      '/dist/': '/',
      '': '/static',
    }
    

BuildResult

Tür

<GetManifestResult"manifestEntries"
>&object atla

Özellikler

  • filePaths

    dize[]

GeneratePartial

Özellikler

  • babelPresetEnvTargets

    string[] isteğe bağlı

    Varsayılan değer: ["chrome >= 56"]

    Hizmet çalışanı paketini çevirirken babel-preset-env öğesine iletilecek hedefler.

  • cacheId

    string isteğe bağlı

    Önbellek adlarının başına eklenecek isteğe bağlı kimlik. Bu, öncelikli olarak aynı http://localhost:port kaynağından birden fazla sitenin yayınlanabileceği yerel geliştirme için yararlıdır.

  • cleanupOutdatedCaches

    boole isteğe bağlı

    Varsayılan değer: false

    Workbox'ın eski, uyumsuz sürümler tarafından oluşturulan ön önbellekleri tanımlamaya ve silmeye çalışıp çalışmayacağı.

  • clientsClaim

    boole isteğe bağlı

    Varsayılan değer: false

    Service Worker'ın, etkinleştirilir etkinleştirilmez mevcut istemcileri kontrol etmeye başlayıp başlamayacağı.

  • directoryIndex

    string isteğe bağlı

    / ile biten URL için gezinme isteği önceden önbelleğe alınmış bir URL ile eşleşemezse bu değer URL'ye eklenir ve ön önbellek eşleşmesi için kontrol edilir. Bu, web sunucunuzun dizin dizini için kullandığı değere ayarlanmalıdır.

  • disableDevLogs

    boole isteğe bağlı

    Varsayılan değer: false

  • ignoreURLParametersMatching

    RegExp[] isteğe bağlı

    Bu dizideki RegExp'lerden biriyle eşleşen tüm arama parametresi adları, ön önbellek eşleşmesi aranmadan önce kaldırılır. Bu, kullanıcılarınız trafiğin kaynağını izlemek için kullanılan URL parametreleri gibi URL parametreleri için istekte bulunduğunda yararlı olur. Sağlanmazsa varsayılan değer [/^utm_/, /^fbclid$/] olur.

  • importScripts

    string[] isteğe bağlı

    Oluşturulan Service Worker dosyasının içinde importScripts()'e iletilmesi gereken JavaScript dosyalarının listesi. Bu, Workbox'ın üst düzey Service Worker dosyanızı oluşturmasına izin vermek ancak push etkinlik işleyici gibi bazı ek kodlar eklemek istediğinizde kullanışlıdır.

  • inlineWorkboxRuntime

    boole isteğe bağlı

    Varsayılan değer: false

    Workbox kitaplığı için çalışma zamanı kodunun üst düzey hizmet çalışanına mı dahil edileceği yoksa hizmet çalışanıyla birlikte dağıtılması gereken ayrı bir dosyaya bölünmesi mi gerektiği. Çalışma zamanını ayrı tutmak, üst düzey Service Worker'ınız her değiştiğinde kullanıcıların Workbox kodunu yeniden indirmek zorunda kalmayacağı anlamına gelir.

  • mod

    string isteğe bağlı

    Varsayılan değer: "production"

    "Üretim" değerine ayarlanırsa hata ayıklama bilgilerini içermeyen optimize edilmiş bir hizmet çalışanı paketi oluşturulur. Burada açıkça yapılandırılmazsa process.env.NODE_ENV değeri kullanılır ve bu değere sahip olmazsa 'production' değerine döner.

  • navigateFallback

    string isteğe bağlı

    Varsayılan değer: null

    Belirtilirse önceden önbelleğe alınmamış URL'lere ilişkin tüm gezinme istekleri, sağlanan URL'deki HTML ile yerine getirilir. Önbellek manifestinizde listelenen bir HTML dokümanının URL'sini iletmeniz gerekir. Bu şablon, tüm gezinmelerin ortak Uygulama Kabuğu HTML'sini kullanmasını istediğiniz Tek Sayfalık Uygulama senaryosunda kullanılmak üzere tasarlanmıştır.

  • navigateFallbackAllowlist

    RegExp[] isteğe bağlı

    Yapılandırılmış navigateFallback davranışının geçerli olduğu URL'leri kısıtlayan isteğe bağlı bir normal ifade dizisi. Bu, sitenizin URL'lerinin yalnızca bir alt kümesinin Tek Sayfalık Uygulamanın parçası olarak değerlendirilmesi gerektiği durumlarda faydalıdır. Hem navigateFallbackDenylist hem de navigateFallbackAllowlist yapılandırılırsa reddedilenler listesi önceliklidir.

    Not: Bu RegExp'ler, gezinme sırasında her hedef URL ile karşılaştırılabilir. Karmaşık RegExp'ler kullanmaktan kaçının. Aksi takdirde kullanıcılarınız sitenizde gezinirken gecikmelerle karşılaşabilir.

  • navigateFallbackDenylist

    RegExp[] isteğe bağlı

    Yapılandırılmış navigateFallback davranışının geçerli olduğu URL'leri kısıtlayan isteğe bağlı bir normal ifade dizisi. Bu işlem, sitenizin URL'lerinin yalnızca bir alt kümesinin Tek Sayfalık Uygulamanın parçası olarak değerlendirilmesi gerekiyorsa yararlı olur. Hem navigateFallbackDenylist hem de navigateFallbackAllowlist yapılandırılırsa reddedilenler listesi öncelikli olur.

    Not: Bu RegExp'ler, gezinme sırasında her hedef URL ile karşılaştırılabilir. Karmaşık RegExp'ler kullanmaktan kaçının. Aksi takdirde kullanıcılarınız sitenizde gezinirken gecikmelerle karşılaşabilir.

  • navigationPreload

    boole isteğe bağlı

    Varsayılan değer: false

    Oluşturulan hizmet çalışanında gezinme ön yüklemesinin etkinleştirilip etkinleştirilmeyeceği. Doğru değerine ayarlandığında gezinme istekleriyle eşleşecek bir uygun yanıt stratejisi oluşturmak ve önceden yüklenmiş yanıttan yararlanmak için runtimeCaching kullanmanız gerekir.

  • offlineGoogleAnalytics

    boolean|GoogleAnalyticsInitializeOptions optional

    Varsayılan değer: false

    Çevrimdışı Google Analytics desteğinin dahil edilip edilmeyeceğini kontrol eder. true olduğunda workbox-google-analytics initialize() aracına yapılan çağrı, oluşturduğunuz hizmet çalışanına eklenir. Object değerine ayarlandığında bu nesne, initialize() çağrısına iletilerek davranışı özelleştirmenize olanak tanır.

  • runtimeCaching

    RuntimeCaching[] isteğe bağlı

    Hizmet çalışanınızı oluşturmak için Workbox'ın derleme araçlarını kullanırken bir veya daha fazla çalışma zamanı önbelleğe alma yapılandırması belirtebilirsiniz. Daha sonra bunlar, tanımladığınız eşleştirme ve işleyici yapılandırması kullanılarak workbox-routing.registerRoute çağrılarına dönüştürülür.

    Tüm seçenekler için workbox-build.RuntimeCaching belgelerine bakın. Aşağıdaki örnekte iki çalışma zamanı rotası tanımlanmış tipik bir yapılandırma gösterilmektedir:

  • skipWaiting

    boole isteğe bağlı

    Varsayılan değer: false

    Oluşturulan hizmet çalışanına koşulsuz bir çağrının skipWaiting() eklenip eklenmeyeceğini belirtir. false değerine ayarlanırsa bunun yerine bir message işleyicisi eklenir. Böylece, istemci sayfalarının bekleyen bir hizmet çalışanında postMessage({type: 'SKIP_WAITING'}) yöntemini çağırarak skipWaiting() tetikleyicisini tetiklemesine izin verilir.

  • kaynak eşleme

    boole isteğe bağlı

    Varsayılan değer: true

    Oluşturulan hizmet çalışanı dosyaları için sourcemap oluşturulup oluşturulmayacağı.

GenerateSWOptions

GetManifestOptions

GetManifestResult

Özellikler

  • adet

    sayı

  • manifestEntries
  • beden

    sayı

  • uyarılar

    dize[]

GlobPartial

Özellikler

  • globFollow

    boole isteğe bağlı

    Varsayılan değer: true

    Önbellek öncesi manifest oluşturulurken sembolik bağlantıların uygulanıp uygulanmayacağını belirler. Daha fazla bilgi için glob belgelerindeki follow tanımına bakın.

  • globIgnores

    string[] isteğe bağlı

    Varsayılan değer: ["**\/node_modules\/**\/*"]

    Önbellek manifesti oluştururken her zaman hariç tutulacak dosyalarla eşleşen bir kalıp grubu. Daha fazla bilgi için glob belgelerindeki ignore tanımına bakın.

  • globPatterns

    string[] isteğe bağlı

    Varsayılan değer: ["**\/*.{js,css,html}"]

    Bu kalıplardan herhangi biriyle eşleşen dosyalar ön önbellek manifestine dahil edilir. Daha fazla bilgi için glob hakkındaki yardım makalesini inceleyin.

  • globStrict

    boole isteğe bağlı

    Varsayılan değer: true

    Doğru değerine ayarlanırsa ön önbelleğe alma manifesti oluştururken bir dizin okuma hatası, derlemenin başarısız olmasına neden olur. Yanlış değerine ayarlanırsa sorunlu dizin atlanır. Daha fazla bilgi için glob belgelerindeki strict tanımına bakın.

  • templatedURLs

    isteğe bağlı

    Bir URL, sunucu tarafı mantığına göre oluşturulursa içeriğin içeriği birden fazla dosyaya veya başka bir benzersiz dize değerine bağlı olabilir. Bu nesnedeki anahtarlar sunucu tarafından oluşturulan URL'lerdir. Değerler bir dize dizisiyse glob kalıpları olarak yorumlanır ve kalıplarla eşleşen tüm dosyaların içeriği URL'nin benzersiz bir sürümünü oluşturmak için kullanılır. Tek bir dizeyle kullanılırsa belirli bir URL için oluşturduğunuz benzersiz sürüm oluşturma bilgileri olarak yorumlanır.

InjectManifestOptions

InjectPartial

Özellikler

  • injectionPoint

    string isteğe bağlı

    Varsayılan değer: "self.__WB_MANIFEST"

    swSrc dosyasının içinde bulunacak dize. Bulunan dosya, oluşturulan ön önbellek manifestiyle değiştirilir.

  • swSrc

    dize

    Derleme işlemi sırasında okunacak olan hizmet çalışanı dosyasının, mevcut çalışma dizinine göreli yolu ve dosya adı.

ManifestEntry

Özellikler

  • doğruluk

    string isteğe bağlı

  • düzeltme

    dize

  • url

    dize

ManifestTransform()

workbox-build.ManifestTransform(
  manifestEntries: (ManifestEntry&object)[],
  compilation?: unknown,
)

Tür

işlev

Parametreler

  • manifestEntries

    (ManifestEntry&object)[]

    • beden

      sayı

  • derleme

    bilinmeyen isteğe bağlı

ManifestTransformResult

Özellikler

  • manifest

    (ManifestEntry&object)[]

    • beden

      sayı

  • uyarılar

    string[] isteğe bağlı

OptionalGlobDirectoryPartial

Özellikler

  • globDirectory

    string isteğe bağlı

    globPatterns ürününü eşleştirmek istediğiniz yerel dizin. Yol, geçerli dizinle ilişkilidir.

RequiredGlobDirectoryPartial

Özellikler

  • globDirectory

    dize

    globPatterns ürününü eşleştirmek istediğiniz yerel dizin. Yol, geçerli dizinle ilişkilidir.

RequiredSWDestPartial

Özellikler

  • swDest

    dize

    Derleme işlemi tarafından oluşturulacak hizmet çalışanı dosyasının, geçerli çalışma dizinine göreli yolu ve dosya adı. Kod, ".js" ile bitmelidir.

RuntimeCaching

Özellikler

StrategyName

Enum

"NetworkFirst"

WebpackGenerateSWOptions

WebpackGenerateSWPartial

Özellikler

  • importScriptsViaChunks

    string[] isteğe bağlı

    Web paketi parçalarının bir veya daha fazla adı. Bu parçaların içeriği, importScripts() çağrısı yapılarak oluşturulan Service Worker'a dahil edilir.

  • swDest

    string isteğe bağlı

    Varsayılan değer: "service-worker.js"

    Bu eklenti tarafından oluşturulan Service Worker dosyasının öğe adı.

WebpackInjectManifestOptions

WebpackInjectManifestPartial

Özellikler

  • compileSrc

    boole isteğe bağlı

    Varsayılan değer: true

    true (varsayılan) olduğunda swSrc dosyası webpack tarafından derlenir. false olduğunda derleme yapılmaz (ve webpackCompilationPlugins kullanılamaz.) Manifest'i bir JSON dosyası gibi içine eklemek istiyorsanız false olarak ayarlayın.

  • swDest

    string isteğe bağlı

    Bu eklenti tarafından oluşturulacak Service Worker dosyasının öğe adı. Atlanırsa ad, swSrc adına dayalı olur.

  • webpackCompilationPlugins

    any[] isteğe bağlı

    swSrc giriş dosyası derlenirken kullanılacak isteğe bağlı webpack eklentileri. Yalnızca compileSrc değeri true ise geçerlidir.

WebpackPartial

Özellikler

  • parçalar

    string[] isteğe bağlı

    Karşılık gelen çıkış dosyalarının ön önbellek manifestine eklenmesi gereken bir veya daha fazla yığın adı.

  • hariç tut

    (string|RegExp|function)[] optional

    Öğeleri ön önbellek manifestinden hariç tutmak için bir veya daha fazla tanımlayıcı kullanılır. Bu, webpack ürününün standart exclude seçeneğiyle aynı kurallara göre yorumlanır. Sağlanmazsa varsayılan değer [/\.map$/, /^manifest.*\.js$] olur.

  • excludeChunks

    string[] isteğe bağlı

    Karşılık gelen çıkış dosyalarının ön önbellek manifestinden hariç tutulması gereken bir veya daha fazla yığın adı.

  • dahil et

    (string|RegExp|function)[] optional

    Öğeleri ön önbellek manifestine eklemek için kullanılan bir veya daha fazla tanımlayıcı. Bu, webpack ürününün standart include seçeneğiyle aynı kurallara göre yorumlanır.

  • mod

    string isteğe bağlı

    "Üretim" değerine ayarlanırsa hata ayıklama bilgilerini içermeyen optimize edilmiş bir hizmet çalışanı paketi oluşturulur. Burada açıkça yapılandırılmazsa mevcut webpack derlemesinde yapılandırılan mode değeri kullanılır.

Yöntemler

copyWorkboxLibraries()

workbox-build.copyWorkboxLibraries(
  destDirectory: string,
)

Bu işlem, Workbox tarafından kullanılan bir çalışma zamanı kitaplığı grubunu, hizmet çalışanı dosyanızla birlikte dağıtılması gereken yerel bir dizine kopyalar.

Bu yerel kopyaları dağıtmaya alternatif olarak Workbox'ı resmi CDN URL'sinden kullanabilirsiniz.

Bu yöntem, workbox-build.injectManifest kullanan ve Workbox'ın CDN kopyalarını kullanmak istemeyen geliştiricilerin yararınadır. workbox-build.generateSW kullanan geliştiricilerin bu yöntemi açıkça çağırmaları gerekmez.

Parametreler

  • destDirectory

    dize

    Yeni kitaplık dizininin oluşturulacağı üst dizine giden yol.

İlerlemeler

  • Söz<dize>

    Yeni oluşturulan dizinin adı.

generateSW()

workbox-build.generateSW(
  config: GenerateSWOptions,
)

Bu yöntem, sunduğunuz seçeneklere bağlı olarak, önbelleğe alınacak URL'lerin bir listesini oluşturur. Bu liste, "önbellek manifesti" olarak adlandırılır.

Ayrıca hizmet çalışanının davranışını yapılandıran, kullanması gereken tüm runtimeCaching kuralları gibi ek seçenekleri de alır.

Önbellek manifestine ve ek yapılandırmaya göre, swDest konumundaki diske kullanıma hazır bir hizmet çalışanı dosyası yazar.

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

Parametreler

İlerlemeler

getManifest()

workbox-build.getManifest(
  config: GetManifestOptions,
)

Bu yöntem, sunduğunuz seçeneklere bağlı olarak, "önbellek manifesti" olarak adlandırılan ve önbelleğe alınacak URL'lerin bir listesini, girişlerin sayısı ve boyutlarıyla ilgili ayrıntılarla birlikte, sunduğunuz seçeneklere dayalı olarak döndürür.

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

Parametreler

İlerlemeler

getModuleURL()

workbox-build.getModuleURL(
  moduleName: string,
  buildType: BuildType,
)

Parametreler

  • moduleName

    dize

  • buildType

    BuildType

İlerlemeler

  • dize

injectManifest()

workbox-build.injectManifest(
  config: InjectManifestOptions,
)

Bu yöntem, sunduğunuz seçeneklere bağlı olarak, önbelleğe alınacak URL'lerin bir listesini oluşturur. Bu liste, "önbellek manifesti" olarak adlandırılır.

Manifest, swSrc dosyasına yerleştirilir ve injectionPoint yer tutucu dizesi, manifestin dosyanın nereye ekleneceğini belirler.

Manifest eklendiği son hizmet çalışanı dosyası, swDest konumunda diske yazılır.

Bu yöntem swSrc dosyanızı derlemez veya gruplandırmaz; yalnızca manifestin yerleştirilmesini gerçekleştirir.

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

Parametreler

İlerlemeler