"Uncaught ReferenceError: process is not defined" при попытке использовать dotenv в приложении create-response-app

В репозитории https://github.com/khpeek/trailmaps у меня есть пример карты Google, созданной с помощью react-google-maps, в которой опора googleMapUrl содержит мой ключ API Карт Google. В соответствии с 12-факторными принципами, я хотел бы переместить этот ключ API в файл .env и вставить его в URL-адрес.

Я пытаюсь следовать инструкциям модуля dotenv (который поставляется вместе с create-react-app) и попытался сделать следующее:

import React, { Component } from 'react';
import './App.css';
import MapWithGroundOverlay from './components/groundOverlay';
require('dotenv').config()

class App extends Component {
  render() {
    return (
      <div className = "App">
        <header className = "App-header">
          <h1 className = "App-title">Custom Overlay</h1>
          <h1 className = "App-title">{`The API key is ${process.env.GOOGLE_MAPS_API_KEY}`}</h1>

        </header>
        <MapWithGroundOverlay
          googleMapURL = "https://maps.googleapis.com/maps/api/js?key=AIzaSyBimnrhiugaGSNN8WnsjpzMNJcrH_T60GI&v=3.exp&libraries=geometry,drawing,places"
          loadingElement = {<div style = {{ height: `100%` }} />}
          containerElement = {<div style = {{ height: `400px` }} />}
          mapElement = {<div style = {{ height: `100%` }} />}
        />
      </div>
    );
  }
}

export default App;

В корневом каталоге я создал файл .env, в котором я определяю GOOGLE_MAPS_API_KEY. Однако, если я npm start приложение и перехожу к localhost:3000, я получаю, что process не определен:

&quot;Uncaught ReferenceError: process is not defined&quot; при попытке использовать dotenv в приложении create-response-app

Согласно Uncaught ReferenceError: процесс не определен, код Node.js должен запускаться процессом Node, а не браузером; по-видимому, это то, что я делаю не так. Однако я нахожу этот ответ немного высокоуровневым, чтобы сразу же применить его здесь. Ясно, что dotenv должен использоваться с create-react-app, иначе он не будет поставляться вместе с ним, но должен ли я использовать его в этом примере?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
2 951
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Dotenv не предназначен для работы в браузере. Я бы предложил добавить пользовательские переменные среды, описанные в документации библиотеки.

https://github.com/khpeek/trailmaps#adding-custom-environment-variables

Префикс переменной REACT_APP_ должен работать должным образом.

Другие вопросы по теме