12345678910111213141516171819202122232425262728293031323334353637383940 |
- /**
- * Copyright (c) 2015-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- 'use strict';
- const path = require('path');
- module.exports = function createNoopServiceWorkerMiddleware(servedPath) {
- return function noopServiceWorkerMiddleware(req, res, next) {
- if (req.url === path.join(servedPath, 'service-worker.js')) {
- res.setHeader('Content-Type', 'text/javascript');
- res.send(
- `// This service worker file is effectively a 'no-op' that will reset any
- // previous service worker registered for the same host:port combination.
- // In the production build, this file is replaced with an actual service worker
- // file that will precache your site's local assets.
- // See https://github.com/facebook/create-react-app/issues/2272#issuecomment-302832432
- self.addEventListener('install', () => self.skipWaiting());
- self.addEventListener('activate', () => {
- self.clients.matchAll({ type: 'window' }).then(windowClients => {
- for (let windowClient of windowClients) {
- // Force open pages to refresh, so that they have a chance to load the
- // fresh navigation response from the local dev server.
- windowClient.navigate(windowClient.url);
- }
- });
- });
- `
- );
- } else {
- next();
- }
- };
- };
|