workbox-build modülü, düğüme dayalı bir derleme sürecine entegre edilir ve bir hizmet çalışanının tamamını veya yalnızca mevcut bir hizmet çalışanında kullanılabilecek ön önbelleğe alınacak öğelerin listesini oluşturabilir.
Çoğu geliştiricinin kullanacağı iki mod generateSW ve injectManifest'dur. Aşağıdaki soruların yanıtları, kullanılacak doğru modu ve yapılandırmayı seçmenize yardımcı olabilir.
Hangi modu kullanmalısınız?
generateSW
generateSW modu, yapılandırma seçenekleri aracılığıyla özelleştirilmiş bir hizmet çalışanı dosyası oluşturur ve dosyayı diske yazar.
generateSW ne zaman kullanılır?
- Dosyaları önceden önbelleğe almak istiyorsanız.
- Basit çalışma zamanında önbelleğe alma ihtiyaçlarınız varsa
generateSW NE ZAMAN KULLANILMAMALIDIR?
- Diğer Service Worker özelliklerini (ör. Web Push) kullanmak istiyorsanız.
- Ek komut dosyaları içe aktarmak veya özel önbelleğe alma stratejileri için ek mantık eklemek istiyorsanız.
injectManifest
injectManifest modu, önceden önbelleğe alınacak URL'lerin bir listesini oluşturur ve bu önbelleğe alma manifestini mevcut bir hizmet çalışanı dosyasına ekler. Aksi takdirde dosya olduğu gibi bırakılır.
injectManifest ne zaman kullanılır?
- Hizmet çalışanınız üzerinde daha fazla kontrole sahip olmak istiyorsunuz.
- Dosyaları önceden önbelleğe almak istiyorsanız.
- Yönlendirmeyi ve stratejileri özelleştirmeniz gerekir.
- Hizmet çalışanınızı diğer platform özellikleriyle (ör. Web Push) kullanmak istiyorsanız.
injectManifest NE ZAMAN KULLANILMAMALIDIR?
- Sitenize servis çalışanı eklemenin en kolay yolunu arıyorsunuz.
generateSW Mod
generateSW modunu, aşağıdaki gibi en yaygın yapılandırma seçeneklerini kullanarak düğüme dayalı bir derleme komut dosyasında kullanabilirsiniz:
// 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 alınan tüm dosyalar ve sağlanan çalışma zamanındaki önbelleğe alma kuralları için önbelleğe alma kurulumu içeren bir hizmet çalışanı oluşturur.
Yapılandırma seçeneklerinin tamamını referans dokümanlarında bulabilirsiniz.
injectManifest Mod
injectManifest modunu, aşağıdaki gibi en yaygın yapılandırma seçeneklerini kullanarak düğüme dayalı bir derleme komut dosyasında kullanabilirsiniz:
// 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 göre bir ön önbelleğe alma manifesti oluşturur ve bu manifesti mevcut hizmet çalışanı dosyanıza yerleştirir.
Yapılandırma seçeneklerinin tamamını referans dokümanlarında bulabilirsiniz.
Ek modlar
generateSW veya injectManifest'ün çoğu geliştiricinin ihtiyaçlarını karşılayacağını umuyoruz. Ancak workbox-build tarafından desteklenen ve belirli kullanım alanları için uygun olabilecek başka bir mod da vardır.
getManifest Mod
Bu mod, kavramsal olarak injectManifest moduna benzer ancak manifest'i kaynak hizmet çalışanı dosyasına eklemek yerine, giriş sayısı ve toplam boyut hakkındaki bilgilerle birlikte manifest girişleri dizisini döndürür.
injectManifest modunu, aşağıdaki gibi en yaygın yapılandırma seçeneklerini kullanarak düğüme dayalı bir derleme komut dosyasında kullanabilirsiniz:
// 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 dokümanlarında bulabilirsiniz.
Türler
BasePartial
Özellikler
- 
    additionalManifestEntries(string | ManifestEntry)[] isteğe bağlı Derleme yapılandırmasının bir parçası olarak oluşturulan girişlerin yanı sıra önceden önbelleğe alınacak girişlerin listesi. 
- 
    dontCacheBustURLsMatchingNormal ifade isteğe bağlı Bu değerle eşleşen öğelerin, URL'leri aracılığıyla benzersiz bir şekilde sürümlendirildiği ve ön önbelleği doldururken yapılan normal HTTP önbelleği bozma işleminden muaf olduğu varsayılır. Zorunlu olmasa da mevcut derleme süreciniz 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ğı için bunu algılayacak bir normal ifade sağlamanız önerilir.
- 
    manifestTransformsManifestTransform[] isteğe bağlı Oluşturulan manifest'e sırayla uygulanacak bir veya daha fazla işlev. modifyURLPrefixveyadontCacheBustURLsMatchingda belirtilmişse önce bunlara karşılık gelen dönüşümler uygulanır.
- 
    maximumFileSizeToCacheInBytesnumber 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 sayede, kalıplarınızdan biriyle yanlışlıkla eşleşebilecek çok büyük dosyaları yanlışlıkla önbelleğe almanızı önleyebilirsiniz. 
- 
    modifyURLPrefixnesne isteğe bağlı Dize ön eklerinin değiştirme dizesi değerleriyle eşlendiği bir nesne. Bu, web barındırma ayarlarınız yerel dosya sistemi ayarlarınızla eşleşmezse örneğin bir manifest girişinden yol ön ekini kaldırmak veya eklemek için kullanılabilir. Daha fazla esneklik sunan bir alternatif olarak manifestTransformsseç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" 
 > & nesneyi çıkarın
Özellikler
- 
    filePathsdize[] 
GeneratePartial
Özellikler
- 
    babelPresetEnvTargetsstring[] isteğe bağlı Varsayılan değer: ["chrome >= 56"] Hizmet çalışanı paketi derlenirken babel-preset-env'ye iletilecek hedefler.
- 
    cacheIddize isteğe bağlı Önbelleğe alma adlarına eklenecek isteğe bağlı bir kimlik. Bu özellik, öncelikle aynı kaynaktan birden fazla sitenin yayınlanabileceği yerel geliştirme için yararlıdır. http://localhost:port
- 
    cleanupOutdatedCachesboole isteğe bağlı Varsayılan değer: false Workbox'un eski ve uyumlu olmayan sürümler tarafından oluşturulan ön önbellekleri tanımlayıp silmeye çalışıp çalışmayacağı. 
- 
    clientsClaimboole isteğe bağlı Varsayılan değer: false Hizmet çalışanının etkinleştiği anda mevcut istemcileri kontrol etmeye başlaması gerekip gerekmediği. 
- 
    directoryIndexdize isteğe bağlı /ile biten bir URL için yönlendirme isteği, önceden önbelleğe alınmış bir URL ile eşleşmezse bu değer URL'ye eklenir ve önceden önbelleğe alınmış URL ile eşleşme olup olmadığı kontrol edilir. Bu, web sunucunuzun dizin dizini için kullandığı değerle ayarlanmalıdır.
- 
    disableDevLogsboole isteğe bağlı Varsayılan değer: false 
- 
    ignoreURLParametersMatchingRegExp[] isteğe bağlı Bu dizideki RegExp'lerden biriyle eşleşen tüm arama parametresi adları, önbelleğe alma 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'ler isteyebilirse yararlıdır. Bu değer sağlanmazsa varsayılan değer [/^utm_/, /^fbclid$/]olur.
- 
    importScriptsstring[] isteğe bağlı Oluşturulan hizmet çalışanı dosyasının içindeki importScripts()alanına aktarılması gereken JavaScript dosyalarının listesi. Bu, Workbox'un üst düzey hizmet çalışanı dosyanızı oluşturmasına izin vermek ancak bir push etkinliği dinleyicisi gibi ek kod eklemek istediğinizde kullanışlıdır.
- 
    inlineWorkboxRuntimeboole isteğe bağlı Varsayılan değer: false Workbox kitaplığının çalışma zamanı kodunun üst düzey hizmet işleyiciye dahil edilip edilmeyeceğini veya hizmet işleyiciyle birlikte dağıtılması gereken ayrı bir dosyaya bölünüp bölünmeyeceğini belirtir. Çalışma zamanını ayrı tutmak, kullanıcıların üst düzey hizmet çalışanınızı her değiştirdiğinde Workbox kodunu yeniden indirmesi gerekmeyeceği anlamına gelir. 
- 
    moddize isteğe bağlı Varsayılan değer: "production" "Üretim" olarak ayarlanırsa hata ayıklama bilgilerini hariç tutan optimize edilmiş bir hizmet çalışanı paketi oluşturulur. Burada açıkça yapılandırılmamışsa process.env.NODE_ENVdeğeri kullanılır. Bu değer kullanılamazsa'production'değerine geri döner.
- 
    dize isteğe bağlı Varsayılan değer: null Belirtiliyse önceden önbelleğe alınmayan URL'ler için tüm gezinme istekleri, sağlanan URL'deki HTML ile karşılanır. Ön önbelleğe alma manifestinizde listelenen bir HTML dokümanı URL'sini iletmeniz gerekir. Bu, tüm gezinme işlemlerinin ortak uygulama kabuğu HTML kullanmasını istediğiniz tek sayfalı uygulama senaryosuyla kullanılmalıdır. 
- 
    RegExp[] isteğe bağlı Yapılandırılmış navigateFallbackdavranışının hangi URL'ler için geçerli olacağını kısıtlayan isteğe bağlı bir normal ifade dizisi. Bu, sitenizin URL'lerinin yalnızca bir alt kümesinin Tek Sayfa Uygulaması'nın parçası olarak değerlendirilmesi gerektiğinde faydalıdır. HemnavigateFallbackDenylisthem denavigateFallbackAllowlistyapılandırılmışsa engellenenler listesi önceliklidir.Not: Bu normal ifade, gezinme sırasında her hedef URL'ye göre değerlendirilebilir. Karmaşık normal ifade kullanmaktan kaçının. Aksi takdirde, kullanıcılarınız sitenizde gezinirken gecikmelerle karşılaşabilir. 
- 
    RegExp[] isteğe bağlı Yapılandırılmış navigateFallbackdavranışının hangi URL'ler için geçerli olacağını kısıtlayan isteğe bağlı bir normal ifade dizisi. Bu, sitenizin URL'lerinin yalnızca bir alt kümesinin tek sayfalık uygulama kapsamında olduğu kabul edilmesi gerektiğinde faydalıdır. HemnavigateFallbackDenylisthem denavigateFallbackAllowlistyapılandırılmışsa engellenenler listesi önceliklidir.Not: Bu normal ifade, gezinme sırasında her hedef URL'ye göre değerlendirilebilir. Karmaşık normal ifade kullanmaktan kaçının. Aksi takdirde, kullanıcılarınız sitenizde gezinirken gecikmelerle karşılaşabilir. 
- 
    boole isteğe bağlı Varsayılan değer: false Oluşturulan hizmet çalışanında gezinme önyüklemesinin etkinleştirilip etkinleştirilmeyeceği. Doğru olarak ayarlandığında, gezinme istekleriyle eşleşen uygun bir yanıt stratejisi oluşturmak ve önceden yüklenmiş yanıtı kullanmak için runtimeCachingdeğerini de kullanmanız gerekir.
- 
    offlineGoogleAnalyticsboole | GoogleAnalyticsInitializeOptions isteğe bağlı Varsayılan değer: false Çevrimdışı Google Analytics desteğinin dahil edilip edilmeyeceğini kontrol eder. trueolduğunda,workbox-google-analytics'uninitialize()çağrısı oluşturulan servis çalışanınıza eklenir. BirObjectolarak ayarlandığında, bu nesneinitialize()çağrısına iletilir ve davranışı özelleştirmenize olanak tanır.
- 
    runtimeCachingRuntimeCaching[] isteğe bağlı Hizmet çalışanınızı oluşturmak için Workbox'un derleme araçlarını kullanırken bir veya daha fazla çalışma zamanı önbelleğe alma yapılandırması belirtebilirsiniz. Ardından, tanımladığınız eşleme ve işleyici yapılandırması kullanılarak workbox-routing.registerRouteçağrılarına çevrilir.Tüm seçenekler için workbox-build.RuntimeCachingbelgelerine bakın. Aşağıdaki örnekte, iki çalışma zamanı yolunun tanımlandığı tipik bir yapılandırma gösterilmektedir:
- 
    skipWaitingboole isteğe bağlı Varsayılan değer: false Oluşturulan hizmet işleyiciye skipWaiting()için koşulsuz bir çağrı eklenip eklenmeyeceği.falseise bunun yerine birmessagedinleyici eklenir. Bu dinleyici, istemci sayfalarının bekleyen bir hizmet çalışanındapostMessage({type: 'SKIP_WAITING'})'ı çağırarakskipWaiting()'yi tetiklemesine olanak tanır.
- 
    sourcemapboole isteğe bağlı Varsayılan değer: true Oluşturulan hizmet çalışanı dosyaları için kaynak haritası oluşturulup oluşturulmayacağı. 
GenerateSWOptions
Tür
GetManifestOptions
GetManifestResult
Özellikler
- 
    sayısayı 
- 
    manifestEntries
- 
    bedensayı 
- 
    uyarılardize[] 
GlobPartial
Özellikler
- 
    globFollowboole isteğe bağlı Varsayılan değer: true Ön önbelleğe alma manifesti oluşturulurken sembolik bağlantıların takip edilip edilmeyeceğini belirler. Daha fazla bilgi için globdokümanlarındafollowtanımına bakın.
- 
    globIgnoresstring[] isteğe bağlı Varsayılan değer: ["**\/node_modules\/**\/*"] Ön önbelleğe alma manifesti oluşturulurken her zaman hariç tutulacak dosyalarla eşleşen bir kalıp grubu. Daha fazla bilgi için globdokümanlarındaignoretanımına bakın.
- 
    globPatternsstring[] isteğe bağlı Varsayılan değer: ["**\/*.{js,wasm,css,html}"] Bu kalıplardan herhangi biriyle eşleşen dosyalar ön önbelleğe alma manifest dosyasına dahil edilir. Daha fazla bilgi için globprimerini inceleyin.
- 
    globStrictboole isteğe bağlı Varsayılan değer: true Doğru ise önbelleğe alma manifesti oluşturulurken bir dizin okunurken hata oluşursa derleme başarısız olur. Yanlış ise sorunlu dizin atlanır. Daha fazla bilgi için globdokümanlarındastricttanımına bakın.
- 
    templatedURLsnesne isteğe bağlı Bir URL, sunucu tarafı mantığına göre oluşturuluyorsa 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 globkalıpları olarak yorumlanır ve kalıplarla eşleşen tüm dosyaların içeriği, URL'nin benzersiz bir şekilde sürümlendirilmesi için kullanılır. Tek bir dizeyle kullanılırsa belirli bir URL için oluşturduğunuz benzersiz sürüm bilgileri olarak yorumlanır.
InjectManifestOptions
Tür
InjectPartial
Özellikler
- 
    injectionPointdize isteğe bağlı Varsayılan değer: "self.__WB_MANIFEST" swSrcdosyasında bulunacak dize. Bulunduğunda, oluşturulan ön önbelleğe alma manifesti ile değiştirilir.
- 
    swSrcdize Derleme işlemi sırasında okunacak hizmet çalışanı dosyasının, geçerli çalışma dizine göre yolu ve dosya adı. 
ManifestEntry
Özellikler
- 
    dürüstlükdize isteğe bağlı 
- 
    düzeltmedize 
- 
    urldize 
ManifestTransform()
workbox-build.ManifestTransform(
manifestEntries: (ManifestEntry & object)[],
compilation?: unknown,
): Promise<ManifestTransformResult> | ManifestTransformResult
Tür
işlev
Parametreler
- 
    manifestEntries(ManifestEntry & object)[] - 
    bedensayı 
 
- 
    
- 
    derlemeunknown isteğe bağlı 
İadeler
- 
            Promise<ManifestTransformResult> | ManifestTransformResult 
ManifestTransformResult
Özellikler
- 
    manifest(ManifestEntry & object)[] - 
    bedensayı 
 
- 
    
- 
    uyarılarstring[] isteğe bağlı 
OptionalGlobDirectoryPartial
Özellikler
- 
    globDirectorydize isteğe bağlı globPatternsile eşleştirmek istediğiniz yerel dizin. Yol, geçerli dizine görelidir.
RequiredGlobDirectoryPartial
Özellikler
- 
    globDirectorydize globPatternsile eşleştirmek istediğiniz yerel dizin. Yol, geçerli dizine görelidir.
RequiredSWDestPartial
Özellikler
- 
    swDestdize Derleme işlemi tarafından oluşturulacak hizmet çalışanı dosyasının, geçerli çalışma dizine göre yolu ve dosya adı. ".js" ile bitmelidir. 
RuntimeCaching
Özellikler
- 
    handlerBu, çalışma zamanı yolunun nasıl yanıt oluşturacağını belirler. Yerleşik workbox-strategiesdeğerlerinden birini kullanmak için adını (ör.'NetworkFirst') belirtin. Alternatif olarak, özel yanıt mantığına sahip birworkbox-core.RouteHandlergeri çağırma işlevi de olabilir.
- 
    methodHTTPMethod isteğe bağlı Varsayılan değer: "GET" Eşleştirilecek HTTP yöntemi. 'POST','PUT'veya başka bir istek türünü eşlemeniz gerektiği açıkça belirtilmediği sürece'GET'varsayılan değeri genellikle yeterlidir.
- 
    seçeneklernesne isteğe bağlı - 
    backgroundSyncnesne isteğe bağlı Bu yapılandırıldığında, handler'de yapılandırılmışworkbox-strategies'e birworkbox-background-sync.BackgroundSyncPluginörneği eklenir.- 
    addize 
- 
    seçeneklerQueueOptions isteğe bağlı 
 
- 
    
- 
    broadcastUpdatenesne isteğe bağlı Bu yapılandırıldığında, handler'de yapılandırılmışworkbox-strategies'e birworkbox-broadcast-update.BroadcastUpdatePluginörneği eklenir.- 
    channelNamedize isteğe bağlı 
- 
    seçenekler
 
- 
    
- 
    cacheNamedize isteğe bağlı Bu değer sağlanırsa handler'te yapılandırılanworkbox-strategiesözelliğinincacheNameözelliği ayarlanır.
- 
    cacheableResponseCacheableResponseOptions isteğe bağlı Bu yapılandırıldığında, handler'de yapılandırılmışworkbox-strategies'e birworkbox-cacheable-response.CacheableResponsePluginörneği eklenir.
- 
    son geçerlilik tarihiExpirationPluginOptions isteğe bağlı Bu yapılandırıldığında, handler'de yapılandırılmışworkbox-strategies'e birworkbox-expiration.ExpirationPluginörneği eklenir.
- 
    fetchOptionsRequestInit isteğe bağlı Bu yapılandırıldığında fetchOptionsdeğeri,handleriçinde yapılandırılmışworkbox-strategiesöğesine iletilir.
- 
    matchOptionsCacheQueryOptions isteğe bağlı Bu yapılandırıldığında matchOptionsdeğeri,handler'te yapılandırılmışworkbox-strategies'ye iletilir.
- 
    networkTimeoutSecondsnumber isteğe bağlı Bu değer sağlanırsa handler'te yapılandırılanworkbox-strategiesözelliğininnetworkTimeoutSecondsözelliği ayarlanır.networkTimeoutSecondsyalnızca'NetworkFirst've'NetworkOnly'tarafından desteklenir.
- 
    pluginsWorkboxPlugin[] isteğe bağlı Bu ayarı yapılandırmak, "kısayol" seçenekleri olmayan bir veya daha fazla Workbox eklentisinin ( workbox-expiration.ExpirationPluginiçinexpirationgibi) kullanılmasına olanak tanır. Burada sağlanan eklentiler,handleriçinde yapılandırılmışworkbox-strategiesöğesine eklenir.
- 
    precacheFallbacknesne isteğe bağlı Bu yapılandırıldığında, handler'de yapılandırılmışworkbox-strategies'e birworkbox-precaching.PrecacheFallbackPluginörneği eklenir.- 
    fallbackURLdize 
 
- 
    
- 
    rangeRequestsboole isteğe bağlı Bu özelliği etkinleştirmek, handler'de yapılandırılmışworkbox-strategiesöğesine birworkbox-range-requests.RangeRequestsPluginörneği ekler.
 
- 
    
- 
    urlPatternstring | RegExp | RouteMatchCallback Bu eşleşme ölçütü, yapılandırılmış işleyicinin önceden önbelleğe alınmış URL'lerden biriyle eşleşmeyen istekler için yanıt oluşturup oluşturmayacağını belirler. Birden fazla RuntimeCachingyolu tanımlanmışsaurlPatterneşleşen ilk yol yanıt verir.Bu değer, doğrudan workbox-routing.registerRouteparametresine iletilen ilk parametreyle eşlenir. En fazla esneklik içinworkbox-core.RouteMatchCallbackişlevi kullanmanız önerilir.
StrategyName
Enum
"CacheFirst" 
 
"CacheOnly" 
 
"NetworkFirst" 
 
"NetworkOnly" 
 
"StaleWhileRevalidate" 
 
WebpackGenerateSWOptions
WebpackGenerateSWPartial
Özellikler
- 
    importScriptsViaChunksstring[] isteğe bağlı Bir veya daha fazla webpack parçasının adı. Bu parçaların içeriği, importScripts()çağrısı aracılığıyla oluşturulan hizmet işleyiciye dahil edilir.
- 
    swDestdize isteğe bağlı Varsayılan değer: "service-worker.js" Bu eklenti tarafından oluşturulan hizmet çalışanı dosyasının öğe adı. 
WebpackInjectManifestOptions
WebpackInjectManifestPartial
Özellikler
- 
    compileSrcboole isteğe bağlı Varsayılan değer: true true(varsayılan) olduğundaswSrcdosyası webpack tarafından derlenir.falseolduğunda derleme gerçekleşmez (vewebpackCompilationPluginskullanılamaz.) Manifesti örneğin bir JSON dosyasına eklemek istiyorsanızfalseolarak ayarlayın.
- 
    swDestdize isteğe bağlı Bu eklenti tarafından oluşturulacak hizmet çalışanı dosyasının öğe adı. Atlanırsa ad, swSrcadına göre belirlenir.
- 
    webpackCompilationPluginsany[] isteğe bağlı swSrcgiriş dosyası derlenirken kullanılacak isteğe bağlıwebpackeklentileri. YalnızcacompileSrctrueise geçerlidir.
WebpackPartial
Özellikler
- 
    büyük parçalarstring[] isteğe bağlı İlgili çıkış dosyalarının önbelleğe alma manifest dosyasına dahil edilmesi gereken bir veya daha fazla parça adı. 
- 
    hariç tut(string | RegExp | function)[] isteğe bağlı Öğeleri ön önbelleğe alma manifestinden hariç tutmak için kullanılan bir veya daha fazla belirteç. Bu, webpack'nin standartexcludeseçeneğiyle aynı kurallar doğrultusunda yorumlanır. Bu değer sağlanmazsa varsayılan değer[/\.map$/, /^manifest.*\.js$]olur.
- 
    excludeChunksstring[] isteğe bağlı İlgili çıkış dosyalarının önbelleğe alma manifestinden hariç tutulması gereken bir veya daha fazla parça adı. 
- 
    dahil et(string | RegExp | function)[] isteğe bağlı Öğeleri önbelleğe alma manifest dosyasına dahil etmek için kullanılan bir veya daha fazla belirteç. Bu, webpack'nin standartincludeseçeneğiyle aynı kurallar doğrultusunda yorumlanır.
- 
    moddize isteğe bağlı "Üretim" olarak ayarlanırsa hata ayıklama bilgilerini hariç tutan optimize edilmiş bir hizmet çalışanı paketi oluşturulur. Burada açıkça yapılandırılmamışsa geçerli webpackderlemesinde yapılandırılanmodedeğeri kullanılır.
Yöntemler
copyWorkboxLibraries()
workbox-build.copyWorkboxLibraries(
destDirectory: string,
): Promise<string>
Bu işlem, Workbox tarafından kullanılan bir dizi çalışma zamanı kitaplığını yerel bir dizine kopyalar. Bu dizin, hizmet çalışanı dosyanızla birlikte dağıtılmalıdır.
Bu yerel kopyaları dağıtmanın alternatifi olarak, Workbox'u resmi CDN URL'sinden kullanabilirsiniz.
Bu yöntem, workbox-build.injectManifest kullanan ve Workbox'un CDN kopyalarını kullanmayı tercih etmeyen geliştiricilerin yararına sunulmuştur. workbox-build.generateSW kullanan geliştiricilerin bu yöntemi açıkça çağırması gerekmez.
Parametreler
- 
    destDirectorydize Yeni kitaplık dizininin oluşturulacağı üst dizinin yolu. 
İadeler
- 
            Promise<string> Yeni oluşturulan dizinin adı. 
generateSW()
workbox-build.generateSW(
config: GenerateSWOptions,
): Promise<BuildResult>
Bu yöntem, sağladığınız seçeneklere göre önceden önbelleğe alınacak URL'lerin listesini oluşturur. Bu liste "önbelleğe alma manifesti" olarak adlandırılır.
Ayrıca, kullanması gereken runtimeCaching kuralları gibi hizmet çalışanının davranışını yapılandıran ek seçenekleri de alır.
Önceden önbelleğe alma manifestini ve ek yapılandırmayı temel alarak swDest adresinde diske 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
- 
    yapılandırma
İadeler
- 
            Promise<BuildResult> 
getManifest()
workbox-build.getManifest(
config: GetManifestOptions,
): Promise<GetManifestResult>
Bu yöntem, sağladığınız seçeneklere göre girişlerin sayısı ve boyutlarıyla ilgili ayrıntıların yanı sıra önceden önbelleğe alınacak URL'lerin listesini ("önbelleğe alma manifesti" olarak adlandırılır) 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
- 
    yapılandırma
İadeler
- 
            Promise<GetManifestResult> 
getModuleURL()
workbox-build.getModuleURL(
moduleName: string,
buildType: BuildType,
): string
Parametreler
- 
    moduleNamedize 
- 
    buildTypeBuildType 
İadeler
- 
            dize 
injectManifest()
workbox-build.injectManifest(
config: InjectManifestOptions,
): Promise<BuildResult>
Bu yöntem, sağladığınız seçeneklere göre önceden önbelleğe alınacak URL'lerin listesini oluşturur. Bu liste "önbelleğe alma manifesti" olarak adlandırılır.
Manifest, swSrc dosyasına eklenir ve yer tutucu dize injectionPoint, manifestin dosyanın neresine ekleneceğini belirler.
Manifestin eklenmesiyle oluşturulan nihai hizmet çalışanı dosyası, swDest adresinde diske yazılır.
Bu yöntem, swSrc dosyanızı derlemez veya paketlemez. Yalnızca manifest'i ekleme işlemini 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
- 
    yapılandırma
İadeler
- 
            Promise<BuildResult>