ReactJS의 환경 변수.
3264 단어 reactprogrammingjavascript
가정: Create React App에 대해 잘 알고 있으며 이를 사용하여 React 애플리케이션을 만들고 있습니다.
환경 변수가 필요한 이유
Create React App은 다른 패키지를 설치하지 않고도 사용자 정의 환경 변수를 지원합니다.
환경 변수를 추가하는 두 가지 방법
.env
파일 사용(이것이 우리가 사용할 접근 방식입니다). .env를 사용하여 환경 변수 정의
1단계: 애플리케이션의 루트 폴더에서
.env
라는 텍스트 파일을 만듭니다. 작업 디렉토리는 다음과 같습니다.my-react-app/
|-node-modules/
|-src/
|-public/
|-.env
|-gitignore
|-package.json
|-package.lock.json.
|-README.md
2단계: 맞춤 변수를 만듭니다. Create React App(CRA)은 모든 사용자 정의 변수에 접두사
REACT_APP
를 적용합니다.접두사
REACT_APP
가 없는 변수는 번들링 중에 무시됩니다. CRA가 이 작업을 수행하는 방법에 대해 자세히 알고 싶다면 문서here를 확인하십시오.변수는 다음과 같아야 합니다.
REACT_APP_CLIENT_ID=12345
REACT_APP_KEY=aaddddawrfffvvvvssaa
3단계: 반응 앱에서 액세스합니다. 이를 인쇄하고 다른 변수에 할당할 수도 있지만 응용 프로그램에서만 준비됩니다(값을 변경할 수 없음을 의미함).
import React from 'react';
function App() {
console.log(process.env.REACT_APP_CLIENT_ID);//printing it to console
console.log(process.env.REACT_APP_KEY);//printing it to console
return (
<div className="app">
<p>{process.env.REACT_APP_KEY}</p>//printing it to screen
</div>
);
}
export default App;
4단계:
NODE_ENV
라는 기본 제공 환경 변수가 있습니다. process.env.NODE_ENV
에서 액세스할 수 있습니다. 이 변수는 현재 어떤 모드에 있는지에 따라 변경됩니다.npm start
를 실행하면 "개발"과 같습니다.실행하면
npm test
"테스트"와 동일하며npm run build
를 실행하면 "생산"과 같습니다.사용 사례에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
5단계:
.gitignore
파일을 엽니다. 아래와 같이 #misc 아래에 .env 및 기타 환경 변수를 넣는 것을 좋아합니다.# dependencies
/node_modules
# testing
/coverage
# production
/build
# misc
.DS_Store
.env #<--------Put the custom env files here
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
이 과정을 거쳐도 작동하지 않는 이유🤔?
.env
파일의 변수 이름이 js 파일의 변수 이름과 일치하는지 확인하십시오. 예를 들어 .env의 REACT_APP_KEY 대 process.env.REACT_APP_KEYCreate React App의 환경 변수 사용에 대한 공식 문서는 here 에서 찾을 수 있습니다.
Reference
이 문제에 관하여(ReactJS의 환경 변수.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/phelixdusengimana/environment-variables-in-reactjs-139l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)