O módulo workbox-build
se integra a um processo de build baseado em nó e pode gerar um service worker inteiro ou apenas uma lista de recursos para pré-armazenar em cache que podem ser usados em um service worker.
Os dois modos que a maioria dos desenvolvedores usa são generateSW
e injectManifest
. As respostas às perguntas a seguir podem ajudar você a escolher a configuração e o modo corretos.
Qual modo usar
generateSW
O modo generateSW
cria um arquivo de service worker para você, personalizado pelas opções de configuração, e o grava no disco.
Quando usar generateSW
- Você quer pré-armazenar em cache os arquivos.
- você tiver necessidades simples de armazenamento em cache no ambiente de execução;
Quando NÃO usar generateSW
- Você quer usar outros recursos do Service Worker (por exemplo, Web Push).
- Você quer importar outros scripts ou adicionar lógica para estratégias personalizadas de armazenamento em cache.
injectManifest
O modo injectManifest
gera uma lista de URLs para pré-armazenar em cache e adiciona esse manifesto a um arquivo de service worker existente. Caso contrário, ele deixará o arquivo como está.
Quando usar injectManifest
- Você quer mais controle sobre o service worker.
- Você quer pré-armazenar em cache os arquivos.
- Você precisa personalizar o roteamento e as estratégias.
- Você quer usar seu service worker com outros recursos da plataforma (por exemplo, Push da Web).
Quando NÃO usar injectManifest
- Você quer o caminho mais fácil para adicionar um service worker ao seu site.
Modo generateSW
Você pode usar o modo generateSW
em um script de build baseado em nó, utilizando as opções de configuração mais comuns, como:
// 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.`);
});
Isso vai gerar um service worker com a configuração de pré-armazenamento em cache para todos os arquivos coletados pela configuração e as regras de armazenamento em cache do ambiente de execução fornecidas.
Um conjunto completo de opções de configuração pode ser encontrado na documentação de referência.
Modo injectManifest
Você pode usar o modo injectManifest
em um script de build baseado em nó, utilizando as opções de configuração mais comuns, como:
// 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.`);
});
Isso cria um manifesto de pré-armazenamento em cache com base nos arquivos coletados pela configuração e o injetará no arquivo de service worker existente.
Um conjunto completo de opções de configuração pode ser encontrado na documentação de referência.
Outros modos
Esperamos que o generateSW
ou o injectManifest
atendam às necessidades da maioria dos desenvolvedores. No entanto, há um outro modo compatível com workbox-build
que pode ser apropriado para determinados casos de uso.
Modo getManifest
Conceitualmente, ele é semelhante ao modo injectManifest
, mas, em vez de adicionar o manifesto ao arquivo do service worker de origem, ele retorna a matriz de entradas do manifesto com informações sobre o número de entradas e o tamanho total.
Você pode usar o modo injectManifest
em um script de build baseado em nó, utilizando as opções de configuração mais comuns, como:
// 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.
});
Um conjunto completo de opções de configuração pode ser encontrado na documentação de referência.
Tipos
BasePartial
Propriedades
-
additionalManifestEntries
(string | ManifestEntry)[] opcional
Uma lista de entradas a serem armazenadas em cache, além das entradas geradas como parte da configuração do build.
-
dontCacheBustURLsMatching
RegExp opcional
Será considerado que os recursos correspondentes têm controle de versões exclusivo pelo URL e estão isentos do impedimento de cache HTTP normal, que é feito ao preencher o pré-cache. Embora não seja obrigatório, é recomendável que, se o processo de build já inserir um valor
[hash]
em cada nome de arquivo, você forneça um RegExp para detectar isso, já que reduzirá a largura de banda consumida durante o pré-armazenamento em cache. -
manifestTransforms
ManifestTransform[] opcional
Uma ou mais funções que serão aplicadas sequencialmente ao manifesto gerado. Se
modifyURLPrefix
oudontCacheBustURLsMatching
também forem especificados, as transformações correspondentes serão aplicadas primeiro. -
maximumFileSizeToCacheInBytes
número opcional
O valor padrão é: 2097152
Esse valor pode ser usado para determinar o tamanho máximo dos arquivos que serão armazenados previamente em cache. Isso impede o armazenamento prévio em cache acidental de arquivos muito grandes que possam ter correspondido acidentalmente a um dos seus padrões.
-
modifyURLPrefix
objeto opcional
Um objeto que mapeia prefixos de string para valores de string de substituição. Isso poderá ser usado, por exemplo, para remover ou adicionar um prefixo de caminho de uma entrada de manifesto, se a configuração de hospedagem na Web não corresponder à configuração do sistema de arquivos local. Como alternativa com mais flexibilidade, você pode usar a opção
manifestTransforms
e fornecer uma função que modifique as entradas no manifesto usando qualquer lógica fornecida.Exemplo de uso:
// Replace a '/dist/' prefix with '/', and also prepend // '/static' to every URL. modifyURLPrefix: { '/dist/': '/', '': '/static', }
BuildResult
Tipo
Omitir<GetManifestResult"manifestEntries"
> & objeto
Propriedades
-
filePaths
string[]
GeneratePartial
Propriedades
-
babelPresetEnvTargets
string[] opcional
O valor padrão é: ["chrome >= 56"]
Os destinos a serem transmitidos para
babel-preset-env
ao transcompilar o pacote do service worker. -
cacheId
string opcional
Um ID opcional que será anexado aos nomes do cache. Isso é útil principalmente para desenvolvimento local em que vários sites podem ser veiculados da mesma origem de
http://localhost:port
. -
cleanupOutdatedCaches
booleano opcional
O valor padrão é: false.
Define se o Workbox precisa tentar identificar e excluir pré-caches criados por versões mais antigas e incompatíveis.
-
clientsClaim
booleano opcional
O valor padrão é: false.
Se o service worker precisa ou não começar a controlar os clientes existentes assim que ele for ativado.
-
directoryIndex
string opcional
Se uma solicitação de navegação para um URL com final
/
não corresponder a um URL pré-cache, esse valor será anexado ao URL e será verificado quanto a correspondência de pré-cache. Isso precisa ser definido como o que o servidor da Web está usando para o índice de diretórios. -
disableDevLogs
booleano opcional
O valor padrão é: false.
-
ignoreURLParametersMatching
RegExp[] opcional
Todos os nomes de parâmetro de pesquisa correspondentes a uma das RegExp nessa matriz serão removidos antes que você procure uma correspondência de pré-cache. Isso é útil quando os usuários solicitam URLs que contêm, por exemplo, parâmetros de URL usados para rastrear a origem do tráfego. Se não for fornecido, o valor padrão será
[/^utm_/, /^fbclid$/]
. -
importScripts
string[] opcional
Uma lista de arquivos JavaScript que precisam ser transmitidos para
importScripts()
dentro do arquivo do service worker gerado. Isso é útil quando você quer permitir que o Workbox crie seu arquivo de service worker de nível superior, mas quer incluir outros códigos, como um listener de eventos push. -
inlineWorkboxRuntime
booleano opcional
O valor padrão é: false.
Define se o código do ambiente de execução da biblioteca do Workbox precisa ser incluído no service worker de nível superior ou dividido em um arquivo separado que precisa ser implantado com o service worker. Manter o ambiente de execução separado significa que os usuários não precisarão fazer o download novamente do código da caixa de trabalho sempre que o service worker de nível superior for alterado.
-
modo
string opcional
O valor padrão é: "production"
Se definido como "produção", um pacote de service worker otimizado que exclui informações de depuração será produzido. Se não for configurado explicitamente aqui, o valor
process.env.NODE_ENV
será usado e, caso contrário, ele voltará para'production'
. -
string opcional
O valor padrão é: null
Se especificado, todas as solicitações de navegação de URLs que não são pré-armazenados em cache serão atendidas com o HTML no URL fornecido. É necessário transmitir o URL de um documento HTML listado no manifesto de pré-cache. Isso deve ser usado em um cenário de app de página única, em que você quer que todas as navegações usem um HTML do App Shell comum.
-
RegExp[] opcional
Uma matriz opcional de expressões regulares que restringe a quais URLs o comportamento
navigateFallback
configurado se aplica. Isso é útil quando apenas um subconjunto de URLs do site precisa ser tratado como parte de um app de página única. SenavigateFallbackDenylist
enavigateFallbackAllowlist
estiverem configurados, a lista de bloqueio terá precedência.Observação: essas RegExps podem ser avaliadas em relação a cada URL de destino durante uma navegação. Evite usar RegExps complexos, ou os usuários poderão ter atrasos ao navegar no site.
-
RegExp[] opcional
Uma matriz opcional de expressões regulares que restringe a quais URLs o comportamento
navigateFallback
configurado se aplica. Isso é útil quando apenas um subconjunto de URLs do site precisa ser tratado como parte de um app de página única. SenavigateFallbackDenylist
enavigateFallbackAllowlist
estiverem configurados, a lista de bloqueio terá precedência.Observação: essas RegExps podem ser avaliadas em relação a cada URL de destino durante uma navegação. Evite usar RegExps complexos, ou os usuários poderão ter atrasos ao navegar no site.
-
booleano opcional
O valor padrão é: false.
Se o pré-carregamento de navegação será ativado ou não no service worker gerado. Quando definido como verdadeiro, você também precisa usar
runtimeCaching
para configurar uma estratégia de resposta apropriada que corresponda a solicitações de navegação e usar a resposta pré-carregada. -
offlineGoogleAnalytics
booleano | GoogleAnalyticsInitializeOptions opcional
O valor padrão é: false.
Controla se deve ou não incluir suporte para o Google Analytics off-line. Quando
true
, a chamada parainitialize()
deworkbox-google-analytics
será adicionada ao service worker gerado. Quando definido como umObject
, esse objeto será transmitido para a chamada deinitialize()
, permitindo que você personalize o comportamento. -
runtimeCaching
RuntimeCaching[] opcional
Ao usar as ferramentas de build do Workbox para gerar seu service worker, é possível especificar uma ou mais configurações de armazenamento em cache no ambiente de execução. Em seguida, elas são convertidas em chamadas
workbox-routing.registerRoute
usando a configuração de correspondência e gerenciador que você define.Para todas as opções, consulte a documentação
workbox-build.RuntimeCaching
. O exemplo abaixo mostra uma configuração típica, com duas rotas de ambiente de execução definidas: -
skipWaiting
booleano opcional
O valor padrão é: false.
Define se uma chamada incondicional para
skipWaiting()
será adicionada ao service worker gerado. Se forfalse
, um listenermessage
será adicionado, permitindo que as páginas de clientes acionemskipWaiting()
chamandopostMessage({type: 'SKIP_WAITING'})
em um service worker em espera. -
mapa de origem
booleano opcional
O valor padrão é: true
Define se um mapa de origem para os arquivos do service worker gerados será criado.
GenerateSWOptions
Tipo
GetManifestOptions
GetManifestResult
Propriedades
-
count
number
-
manifestEntries
-
tamanho
number
-
avisos
string[]
GlobPartial
Propriedades
-
globFollow
booleano opcional
O valor padrão é: true
Determina se os links simbólicos são ou não seguidos ao gerar o manifesto de pré-cache. Para mais informações, consulte a definição de
follow
na documentação deglob
. -
globIgnores
string[] opcional
O valor padrão é: ["**\/node_modules\/**\/*"]
Um conjunto de padrões que correspondem a arquivos a serem sempre excluídos ao gerar o manifesto de pré-cache. Para mais informações, consulte a definição de
ignore
na documentação deglob
. -
globPatterns
string[] opcional
O valor padrão é: ["**\/*.{js,Wasm,css,html}"]
Os arquivos que corresponderem a qualquer um desses padrões serão incluídos no manifesto de pré-cache. Para saber mais, consulte a
glob
. -
globStrict
booleano opcional
O valor padrão é: true
Se verdadeiro, um erro na leitura de um diretório ao gerar um manifesto de pré-cache fará com que a compilação falhe. Se for "false", o diretório problemático será ignorado. Para mais informações, consulte a definição de
strict
na documentação doglob
. -
templatedURLs
objeto opcional
Se um URL for renderizado com base em alguma lógica do lado do servidor, o conteúdo dele poderá depender de vários arquivos ou de algum outro valor de string exclusivo. As chaves nesse objeto são URLs renderizados pelo servidor. Se os valores forem uma matriz de strings, eles serão interpretados como padrões
glob
, e o conteúdo de todos os arquivos correspondentes aos padrões será usado para controlar as versões do URL de maneira exclusiva. Se usada com uma única string, ela será interpretada como informações de controle de versões exclusivas que você gerou para um determinado URL.
InjectManifestOptions
Tipo
InjectPartial
Propriedades
-
injectionPoint
string opcional
O valor padrão é: "self.__WB_MANIFEST"
A string que será encontrada no arquivo
swSrc
. Depois de encontrado, ele será substituído pelo manifesto de pré-cache gerado. -
swSrc
string
Caminho e nome do arquivo do service worker que será lido durante o processo de compilação em relação ao diretório de trabalho atual.
ManifestEntry
Propriedades
-
integridade
string opcional
-
revisão
string
-
url
string
ManifestTransform()
workbox-build.ManifestTransform(
manifestEntries: (ManifestEntry & object)[],
compilation?: unknown,
)
Tipo
função
Parâmetros
-
manifestEntries
(ManifestEntry e objeto)[]
-
tamanho
number
-
-
compilação
desconhecido opcional
Retorna
-
Prometer<ManifestTransformResult> | ManifestTransformResult
ManifestTransformResult
Propriedades
-
manifest
(ManifestEntry e objeto)[]
-
tamanho
number
-
-
avisos
string[] opcional
OptionalGlobDirectoryPartial
Propriedades
-
globDirectory
string opcional
O diretório local a que você quer corresponder
globPatterns
. O caminho é relativo ao diretório atual.
RequiredGlobDirectoryPartial
Propriedades
-
globDirectory
string
O diretório local a que você quer corresponder
globPatterns
. O caminho é relativo ao diretório atual.
RequiredSWDestPartial
Propriedades
-
swDest
string
Caminho e nome de arquivo do arquivo do service worker que será criado pelo processo de compilação em relação ao diretório de trabalho atual. Ele precisa terminar em ".js".
RuntimeCaching
Propriedades
-
handler
Isso determina como a rota do ambiente de execução vai gerar uma resposta. Para usar um dos
workbox-strategies
integrados, forneça um nome, como'NetworkFirst'
. Como alternativa, pode ser uma função de callbackworkbox-core.RouteHandler
com lógica de resposta personalizada. -
method
HTTPMethod opcional
O valor padrão é: "GET"
O método HTTP para fazer a correspondência. O valor padrão de
'GET'
normalmente é suficiente, a menos que você precise corresponder explicitamente a'POST'
,'PUT'
ou outro tipo de solicitação. -
do modelo.
objeto opcional
-
backgroundSync
objeto opcional
Isso vai adicionar uma instância
workbox-background-sync.BackgroundSyncPlugin
àworkbox-strategies
configurada emhandler
.-
nome
string
-
do modelo.
QueueOptions opcional
-
-
broadcastUpdate
objeto opcional
Isso vai adicionar uma instância
workbox-broadcast-update.BroadcastUpdatePlugin
àworkbox-strategies
configurada emhandler
.-
channelName
string opcional
-
do modelo.
-
-
cacheName
string opcional
Se fornecido, isso definirá a propriedade
cacheName
doworkbox-strategies
configurado emhandler
. -
cacheableResponse
CacheableResponseOptions opcional
Configurar isso adicionará uma instância
workbox-cacheable-response.CacheableResponsePlugin
aoworkbox-strategies
configurado emhandler
. -
expiration
ExpirationPluginOptions opcional
Configurar isso adicionará uma instância
workbox-expiration.ExpirationPlugin
aoworkbox-strategies
configurado emhandler
. -
fetchOptions
RequestInit opcional
A configuração desse atributo transmite o valor
fetchOptions
para oworkbox-strategies
configurado emhandler
. -
matchOptions
CacheQueryOptions opcional
A configuração desse atributo transmite o valor
matchOptions
para oworkbox-strategies
configurado emhandler
. -
networkTimeoutSeconds
número opcional
Se fornecido, isso definirá a propriedade
networkTimeoutSeconds
doworkbox-strategies
configurado emhandler
. Observe que apenas'NetworkFirst'
e'NetworkOnly'
são compatíveis comnetworkTimeoutSeconds
. -
plugins
WorkboxPlugin[] opcional
A configuração disso permite o uso de um ou mais plug-ins do Workbox que não têm opções de "atalho" (como
expiration
paraworkbox-expiration.ExpirationPlugin
). Os plug-ins fornecidos aqui serão adicionados aoworkbox-strategies
configurado emhandler
. -
precacheFallback
objeto opcional
Configurar isso adicionará uma instância
workbox-precaching.PrecacheFallbackPlugin
aoworkbox-strategies
configurado emhandler
.-
fallbackURL
string
-
-
rangeRequests
booleano opcional
Ativar essa opção adiciona uma instância
workbox-range-requests.RangeRequestsPlugin
aoworkbox-strategies
configurado emhandler
.
-
-
urlPattern
string | RegExp | RouteMatchCallback
Esses critérios de correspondência determinam se o gerenciador configurado vai gerar uma resposta para as solicitações que não corresponderem a um dos URLs armazenados previamente em cache. Se várias rotas
RuntimeCaching
forem definidas, a primeira comurlPattern
correspondente será a resposta.Esse valor é mapeado diretamente para o primeiro parâmetro transmitido para
workbox-routing.registerRoute
. É recomendável usar uma funçãoworkbox-core.RouteMatchCallback
para maior flexibilidade.
StrategyName
Tipo enumerado
"CacheFirst"
"CacheOnly"
"NetworkFirst"
WebpackGenerateSWOptions
WebpackGenerateSWPartial
Propriedades
-
importScriptsViaChunks
string[] opcional
Um ou mais nomes de blocos do webpack. O conteúdo desses blocos será incluído no service worker gerado por uma chamada para
importScripts()
. -
swDest
string opcional
O valor padrão é: "service-worker.js"
O nome do recurso do arquivo do service worker criado por este plug-in.
WebpackInjectManifestOptions
WebpackInjectManifestPartial
Propriedades
-
compileSrc
booleano opcional
O valor padrão é: true
Quando
true
(padrão), o arquivoswSrc
será compilado pelo webpack. Quandofalse
, a compilação não ocorrerá, ewebpackCompilationPlugins
não poderá ser usado. Defina comofalse
se quiser injetar o manifesto em, por exemplo, um arquivo JSON. -
swDest
string opcional
O nome do recurso do arquivo do service worker que será criado por este plug-in. Se omitido, o nome será baseado no nome
swSrc
. -
webpackCompilationPlugins
qualquer[] opcional
Plug-ins
webpack
opcionais que serão usados ao compilar o arquivo de entradaswSrc
. Válida apenas secompileSrc
fortrue
.
WebpackPartial
Propriedades
-
pedaços
string[] opcional
Um ou mais nomes de bloco com arquivos de saída correspondentes que precisam ser incluídos no manifesto de pré-cache.
-
excluir
(string | RegExp | função)[] opcional
Um ou mais especificadores foram usados para excluir recursos do manifesto de pré-cache. Isso é interpretado seguindo as mesmas regras que a opção
exclude
padrão dewebpack
. Se não for fornecido, o valor padrão será[/\.map$/, /^manifest.*\.js$]
. -
excludeChunks
string[] opcional
Um ou mais nomes de bloco com arquivos de saída correspondentes que precisam ser excluídos do manifesto de pré-cache.
-
incluem
(string | RegExp | função)[] opcional
Um ou mais especificadores usados para incluir recursos no manifesto de pré-cache. Isso é interpretado seguindo as mesmas regras que a opção
include
padrão dewebpack
. -
modo
string opcional
Se definido como "produção", um pacote de service worker otimizado que exclui informações de depuração será produzido. Se não for configurado explicitamente aqui, o valor
mode
configurado na compilaçãowebpack
atual será usado.
Métodos
copyWorkboxLibraries()
workbox-build.copyWorkboxLibraries(
destDirectory: string,
)
Isso copia um conjunto de bibliotecas de ambiente de execução usadas pelo Workbox em um diretório local, que precisa ser implantado com o arquivo do service worker.
Como alternativa à implantação dessas cópias locais, você pode usar o Workbox do URL da CDN oficial.
Esse método é exposto para benefício de desenvolvedores que usam
workbox-build.injectManifest
, que preferem
não usar as cópias da CDN do Workbox. Os desenvolvedores que usam
workbox-build.generateSW
não precisam
chamar esse método explicitamente.
Parâmetros
-
destDirectory
string
O caminho para o diretório pai em que o novo diretório de bibliotecas será criado.
Retorna
-
Promessa<string>
O nome do diretório recém-criado.
generateSW()
workbox-build.generateSW(
config: GenerateSWOptions,
)
Esse método cria uma lista de URLs para pré-armazenar em cache, conhecido como "manifesto de pré-cache", com base nas opções fornecidas.
Ele também aceita outras opções que configuram o comportamento do service worker, como qualquer regra runtimeCaching
que ele precisa usar.
Com base no manifesto de pré-cache e na configuração extra, ele grava
um arquivo de service worker pronto para uso no disco em 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: '...',
});
Parâmetros
-
config
Retorna
-
Promise<BuildResult>
getManifest()
workbox-build.getManifest(
config: GetManifestOptions,
)
Esse método retorna uma lista de URLs para pré-armazenar em cache, o que é chamado de "manifesto de pré-cache", com detalhes sobre o número de entradas e o tamanho delas, com base nas opções fornecidas.
// 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: ...,
});
Parâmetros
-
config
Retorna
-
Promise<GetManifestResult>
getModuleURL()
workbox-build.getModuleURL(
moduleName: string,
buildType: BuildType,
)
Parâmetros
-
moduleName
string
-
buildType
BuildType
Retorna
-
string
injectManifest()
workbox-build.injectManifest(
config: InjectManifestOptions,
)
Esse método cria uma lista de URLs para pré-armazenar em cache, conhecido como "manifesto de pré-cache", com base nas opções fornecidas.
O manifesto é injetado no arquivo swSrc
, e a string de marcador de posição
injectionPoint
determina em que local do arquivo o manifesto será colocado.
O arquivo final do service worker, com o manifesto injetado, é gravado no
disco em swDest
.
Esse método não vai compilar nem agrupar o arquivo swSrc
. Ele apenas processa
a injeção do manifesto.
// 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: '...',
});
Parâmetros
-
config
Retorna
-
Promise<BuildResult>