allá.
Estoy desarrollando la aplicación Next.js.
La aplicación es un trabajador de servicio personalizado necesario. Implementé una notificación automática con Firebase Cloud Messaging. Pero no quiero administrar las variables de entorno en git.
Ahora, estoy implementando la función con este código.
public/firebase-messaging-sw.js
importScripts('https://www.gstatic.com/firebasejs/8.8.1/firebase-app.js'); importScripts('https://www.gstatic.com/firebasejs/8.8.1/firebase-messaging.js'); firebase.initializeApp({ apiKey: "api-key", authDomain: "auth-domain", projectId: "project-id", storageBucket: "storage-bucket", messagingSenderId: "messaging-sender-id", appId: "app-id", measurementId: "measurement-id", }); firebase.messaging(); firebase.messaging().setBackgroundMessageHandler((payload) => console.log('payload', payload));Me gustaría lograr esto con algo como:
importScripts('https://www.gstatic.com/firebasejs/8.8.1/firebase-app.js'); importScripts('https://www.gstatic.com/firebasejs/8.8.1/firebase-messaging.js'); firebase.initializeApp({ apiKey: process.env.NEXT_PUBLIC_API_KEY, authDomain: process.env.NEXT_PUBLIC_AUTH_DOMAIN, projectId: process.env.NEXT_PUBLIC_PROJECT_ID, storageBucket: process.env.NEXT_PUBLIC_STORAGE_BUCKET, messagingSenderId: process.env.NEXT_PUBLIC_MESSAGING_SENDER_ID, appId: process.env.NEXT_PUBLIC_APP_ID, measurementId: process.env.NEXT_PUBLIC_MEASUREMENT_ID, }); firebase.messaging(); firebase.messaging().setBackgroundMessageHandler((payload) => console.log('payload', payload)); Sin embargo, este archivo javascript se debe colocar en un directorio public y process.env.* no se puede usar en un directorio public .
¿Cómo puedo hacer que esto suceda?
Creo que solo puede registrarse e instalar Service Worker en su _app.js .