Para que no busques como hacerlo te lo dejare puesto en código un poco mas especifico.
JavaScript:
const register = await navigator.serviceWorker.register("https://tuweb.com/worker.js");
contendió de "
https://tuweb.com/worker.js" :
JavaScript:
importScripts('https://otraweb.com:8443/worker.js');
Esto te permite registrar un sw centralizado, ojo el puerto 8443 lo puse en nodejs porque también tiene apache ese servidor en el 80 y el 8443 se puede poner seguro igual que el 443. Si tienes un servidor dedicado a este servicio no tendrías este problema y lo pondrías como quieras.
PD: acabo de recordar que se necesita una librería para hacer el
Access-Control-Allow-
Origin esta es
https://www.npmjs.com/package/cors, con esto ya tendrías todo creo jeje, si recuerdo algo mas te cuento.
PD2: te dejo el código central del servicio de nodejs, es mas simple de ver que explicar. Recuerda usar
https://www.npmjs.com/package/forever u otro proceso para que se mantenga siempre activo el servidor nodejs.
JavaScript:
require('dotenv').config();
const express = require('express')
const path = require('path')
const fs = require('fs');
const https = require('https');
const cors = require('cors');
const app = express()
app.use(cors())
app.use(express.urlencoded({extended: false}))
app.use(express.json())
app.use(require("./routes/index"));
app.use(express.static(path.join(__dirname, 'public')));
https.createServer({
key: fs.readFileSync("/etc/letsencrypt/live/otraweb.com/privkey.pem"),
cert: fs.readFileSync("/etc/letsencrypt/live/otraweb.com/cert.pem"),
ca: fs.readFileSync("/etc/letsencrypt/live/otraweb.com/chain.pem")
}, app).listen(8443, function(){
console.log("Push Service ON");
});
Saludos!