@luke의 답변은 내가 필요한 거의 하나였습니다! 감사.
선택한 답변은 매우 간단하고 정확하지만 오래되었으므로 스크립트를 실행할 때 .env 별도 파일에서 변수를 가져오고 Luke의 답변에 몇 가지 제한 사항을 수정하는 대안을 제공하고 싶습니다. 이 시도:
::: .env 파일 :::
# This way, you CAN use comments in your .env files
NODE_PATH="src/"
# You can also have extra/empty lines in it
SASS_PATH="node_modules:src/styles"
그런 다음 패키지 json에서 변수를 설정하고 필요한 스크립트보다 먼저 실행하는 스크립트를 작성합니다.
::: package.json :::
scripts: {
"set-env": "export $(cat .env | grep \"^[^#;]\" |xargs)",
"storybook": "npm run set-env && start-storybook -s public"
}
일부 관찰 :
grep'ed cat 명령의 정규식은 주석과 빈 줄을 지 웁니다.
가 &&
될 필요는 없다 "붙어" 에 npm run set-env
같은 명령에 변수를 설정 한 경우가 필요한 것처럼.
원사를 사용하는 경우 경고가 표시 될 수 있습니다. 원사를 변경 yarn set-env
하거나 npm run set-env --scripts-prepend-node-path &&
대신 사용할 수 있습니다 .
다른 환경
그것을 사용할 때의 또 다른 이점은 다른 환경 변수를 가질 수 있다는 것입니다.
scripts: {
"set-env:production": "export $(cat .production.env | grep \"^[^#;]\" |xargs)",
"set-env:development": "export $(cat .env | grep \"^[^#;]\" |xargs)",
}
키, 비밀번호 또는 현명한 / 개인 데이터가있는 경우 .env 파일을 git 저장소에 추가하지 마십시오!