-
check_circle_outlineMódulo 1 | 5 clases
Introducción y configuración
expand_more -
check_circle_outlineMódulo 2 | 5 clases
Webpack
expand_more -
check_circle_outlineMódulo 3 | 5 clases
Layout
expand_more -
check_circle_outlineMódulo 4 | 10 clases
Estilos con SASS
expand_more -
check_circle_outlineMódulo 5 | 9 clases
Slider de productos
expand_more -
check_circle_outlineMódulo 6 | 3 clases
Google Maps
expand_more -
check_circle_outlineMódulo 7 | 4 clases
Navegación
expand_more -
check_circle_outlineMódulo 8 | 5 clases
Service Workers (páginas sin internet)
expand_more -
check_circle_outlineMódulo 9 | 4 clases
Subir a producción
expand_more -
check_circle_outlineMódulo 10 | 2 clases
Despedida
expand_more
6 comentario(s)
```
const { EnvironmentPlugin, cache } = require("webpack");
const { EnvironmentPlugin, cache } = require("webpack");
const CACHE_NAME = 'STORIES_CACHE_v1';
// service worker
// install descargar y guardaree archivos
// activate eliminar archoivos o guardar nuevos
// fetch retornar del repositorio de archivos
self.addEventListener('install', function() {
// guardar archivos iniciales
caches.open(CACHE_NAME).then(function(cache) {
cache.addAll(['/index.html', '/dist/javascript/bundle.js']);
});
});
self.addEventListener('activate', function(ev) {
ev.waitUntil(
caches.keys().then(function(cacheNames) {
return Promise.all(
cacheNames.map(cacheName => {
if(CACHE_NAME !== cacheName) caches.delete(cacheName);
})
);
})
);
});
self.addEventListener('fetch', function(ev) {
// console.log(ev.request);
ev.respondWith(
//caches.match(ev.request)
caches.match(ev.request).then(function(response) {
// console.log(response);
// return response || fetch(ev.request);
return searchInCacheOrMakeRequest(ev.request);
}).catch(function(err) {
if(ev.request.mode == 'navigate') return caches.match(env.request);
})
);
});
function searchInCacheOrMakeRequest(request) {
const cachePrommise = caches.open(CACHE_NAME);
const matchPromise = cachePrommise.then(function(cache) {
return cache.match(request);
});
return Promise.all([cachePromise, matchPromise]).then(function([cache, cacheResponse]) {
const fetchPromise = fetch(request).then(function(fetchResponse) {
cache.put(request, fetchResponse.clone());
return fetchResponse;
});
return cacheResponse || fetchPromise;
});
}
```
No me funciona y desconozco la razón.
Les dejo mi sw.js
const { EnvironmentPlugin, cache } = require("webpack");
Les dejo mi sw.js
const { EnvironmentPlugin, cache } = require("webpack");
const CACHE_NAME = 'STORIES_CACHE_v1';
// service worker
// install descargar y guardaree archivos
// activate eliminar archoivos o guardar nuevos
// fetch retornar del repositorio de archivos
self.addEventListener('install', function() {
// guardar archivos iniciales
caches.open(CACHE_NAME).then(function(cache) {
cache.addAll(['/index.html', '/dist/javascript/bundle.js']);
});
});
self.addEventListener('activate', function(ev) {
ev.waitUntil(
caches.keys().then(function(cacheNames) {
return Promise.all(
cacheNames.map(cacheName => {
if(CACHE_NAME !== cacheName) caches.delete(cacheName);
})
);
})
);
});
self.addEventListener('fetch', function(ev) {
// console.log(ev.request);
ev.respondWith(
//caches.match(ev.request)
caches.match(ev.request).then(function(response) {
// console.log(response);
// return response || fetch(ev.request);
return searchInCacheOrMakeRequest(ev.request);
}).catch(function(err) {
if(ev.request.mode == 'navigate') return caches.match(env.request);
})
);
});
function searchInCacheOrMakeRequest(request) {
const cachePrommise = caches.open(CACHE_NAME);
const matchPromise = cachePrommise.then(function(cache) {
return cache.match(request);
});
return Promise.all([cachePromise, matchPromise]).then(function([cache, cacheResponse]) {
const fetchPromise = fetch(request).then(function(fetchResponse) {
cache.put(request, fetchResponse.clone());
return fetchResponse;
});
return cacheResponse || fetchPromise;
});
}
El mapa de google, no carga sin conexión, como se puede arreglar eso? lo ingrese como un keyframe ya que ahora te pide tarjeta para usar la API
Buenas Uriel espero estés muy bien, el curso está excelente
Al final todo me funcionó pero en este video de verdad me quedé perdido y eso me preocupa, por lo que me encantaría saber donde puedo ampliar los conocimientos empleados aquí para poder entender mejor todo ya que con lo de promesas y service workers me perdí bastante..
Muchas gracias y aprendí muchisimo con este curso que ya casi termino
Al final todo me funcionó pero en este video de verdad me quedé perdido y eso me preocupa, por lo que me encantaría saber donde puedo ampliar los conocimientos empleados aquí para poder entender mejor todo ya que con lo de promesas y service workers me perdí bastante..
Muchas gracias y aprendí muchisimo con este curso que ya casi termino
Clase 46