코딩하는 고릴라

[webpack] process is not defined 본문

트러블 슈팅

[webpack] process is not defined

코릴라입니다 2024. 3. 19. 22:27
반응형

🍕 에러 발생 시점

 

- react를 사용한 프로젝트 진행 중, 환경변수를 process.env로 접근하려 하자 위와 같은 에러가 발생했다.

- 기존 프로젝트는 위와 같은 방법으로 진행했을 때 문제가 없었으나 현재 진행중인 프로젝트에서 문제가 발생했다.

- 기존 프로젝트는 React 프로젝트 생성에 CRA를 사용했고 지금의 프로젝트는 직접 webpack을 설정했는데 이 차이에서 해당 에러의 원인을 찾아볼 수 있을 것이라 생각해 서치해봤다.

🍔 문제 해결

dotenv 라이브러리 설치 후 다음과 같이 코드를 작성해 해결했다.

// webpack.common.js
const webpack = require('webpack');
const dotenv = require('dotenv');

dotenv.config();

module.exports = () => {
        
        // ...
        
        plugins: [
            new webpack.DefinePlugin({
                'process.env': JSON.stringify(process.env),
            }),
        ],
    };
};

 

- dotenv를 통해 JSON.stringify의 매개변수로 들어간 process.env에 접근할 수 있게 되었다.

- react 프로젝트에서도 해당 process.env 변수에 접근이 가능하도록 DefinePlugin을 통해 정의해준다.

 

🦅 REFERENCE

 

[React] Webpack으로 구축한 React 프로젝트에서 환경 변수(.env) 사용하기

TL;DR Webpack을 통해 직접 구성한 리액트 프로젝트 .env 파일에 환경 변수를 선언할 때 REACT_APP_으로 시작하지 않아도 됨 dotenv 패키지: DefinePlugin을 통해 수동으로 전역 변수 정의 dotenv-webpack 패키지:

db2dev.tistory.com

 

반응형