#javascript #reactjs #firebase #firebase-cloud-messaging
#javascript #reactjs #firebase #firebase-cloud-обмен сообщениями
Вопрос:
Мне нужно использовать файл .env в firebase-messaging-sw.js находится в общедоступной папке в ReactJS. Файл .env находится в корневой папке проекта, и мне нужно использовать его в firebase-messaging-sw.js без перемещения .env в другое место. но когда переменные среды вызывались в firebase-messaging-sw.js . Я получаю ошибку ссылки «процесс не определен в firebase-messaging-sw.js » в ReactJS
Это мой код в firebase-messaging-sw.js .
importScripts('https://www.gstatic.com/firebasejs/7.8.1/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/7.8.1/firebase-messaging.js');
const config = {
apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
appId: process.env.REACT_APP_FIREBASE_APP_ID,
};
firebase.initializeApp(config);
const messaging = firebase.messaging();
Есть ли какая-нибудь идея решить мою проблему?
Комментарии:
1. React JS — это интерфейс.
process.env
объект предоставляется в среде Node JS. Однако вы можете настроить Webpack для загрузки данных изprocess.env
usingdotenv
package . Но когда вы создаете проект react, значения будут заменены на фактические значения, чтобы любой мог увидеть эти ключи с помощью инструмента разработки браузера.2. У меня есть файл .env также в папке src (root / src), тогда нет ли решения для этого.
3. есть какие-либо обновления по этой проблеме? у меня тот же файл .env и я получаю эту ошибку
Ответ №1:
firebase-messaging-sw.js
выполняется на стороне клиента, поэтому вы не можете получить доступ к какой-либо process
глобальной переменной.
Комментарии:
1. У меня есть файл .env также в папке src (root / src), тогда нет ли решения для этого.