From 8ebafd8bae85b9d46e9f89cef8de66cf881ca2f3 Mon Sep 17 00:00:00 2001 From: Dan Elbert Date: Fri, 31 Dec 2021 13:14:05 -0600 Subject: [PATCH] nginx config --- docker/nginx_server.conf | 9 +++++---- src/service-worker.js | 29 +++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/docker/nginx_server.conf b/docker/nginx_server.conf index bdbe3cd..d245e51 100644 --- a/docker/nginx_server.conf +++ b/docker/nginx_server.conf @@ -5,13 +5,14 @@ upstream parsley_app { server { listen 80; - root /parsley/public; + root /parsley/dist; location / { - try_files $uri @rails; + index index.html index.htm; + try_files $uri $uri/ @rails; } - location ~ ^/(assets|packs)/ { + location ~ ^/(css|img|js)/ { try_files $uri @rails; gzip_static on; expires 1y; @@ -27,4 +28,4 @@ server { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } -} \ No newline at end of file +} diff --git a/src/service-worker.js b/src/service-worker.js index b078014..b7a4976 100644 --- a/src/service-worker.js +++ b/src/service-worker.js @@ -1,7 +1,12 @@ -import { NetworkFirst, StaleWhileRevalidate } from 'workbox-strategies'; +import { NetworkFirst, NetworkOnly, StaleWhileRevalidate } from 'workbox-strategies'; import { BroadcastUpdatePlugin } from 'workbox-broadcast-update/BroadcastUpdatePlugin'; import { cleanupOutdatedCaches, precacheAndRoute } from 'workbox-precaching'; -import { defaultHandler, registerRoute } from 'workbox-routing'; +import { setDefaultHandler, registerRoute } from 'workbox-routing'; +import { setCacheNameDetails } from 'workbox-core'; + +setCacheNameDetails({ + prefix: 'parsley' +}); cleanupOutdatedCaches(); precacheAndRoute(self.__WB_MANIFEST); @@ -10,10 +15,18 @@ const isStaleWhileRevalidate = ({ request }) => { return request.headers.get('Cache-Then-Network') === 'true'; }; -registerRoute(isStaleWhileRevalidate, new StaleWhileRevalidate({ - plugins: [ - new BroadcastUpdatePlugin() - ] -})); +registerRoute( + isStaleWhileRevalidate, + new StaleWhileRevalidate({ + plugins: [ + new BroadcastUpdatePlugin() + ] + }) +); -defaultHandler(new NetworkFirst()); +registerRoute( + new RegExp('^(?!http).+'), + new NetworkOnly() +); + +setDefaultHandler(new NetworkFirst());