우리 프로젝트의 키스톤 프레임 작업을 사용하고 있습니다. .env 파일 변수를 내 .js 파일에 사용하여 http 사이트에 연결하려고합니다. dotenv를 사용하고 process.env.xxyz를 호출했습니다. 여기서 xxyz는 .env 파일에서 변수를 호출하는 다른 방법이 있다면 알려주십시오.Keystone.js가 아닌 .js 파일에서 .env 파일 변수를 사용하는 방법은 무엇입니까?
답변
독서 process.env
은 환경 변수를 검색하는 표준 방법입니다. the docs을 참조하십시오.
귀하가 언급 한 dotenv
패키지는 .env
파일에있는 내용을 취하여 process.env
에 넣습니다. 그러나 유효성 검사가 수행되지 않으므로 실수를하기 쉽습니다.
내 실수로 모든 실수를 저지르는 나의 envy 모듈을 시험해보십시오. 다른 것들 중에서 누락 된 변수를 검사합니다.
.env
하는 경우 파일은 여전히 당신에게 문제를주고있다 :
- 가 올바른 변수 이름을 사용하고 있는지 확인하십시오.
- 오타가 없는지 확인하십시오.
- 올바른 구문을 사용하고 있는지 확인하십시오.
- 대신 command line arguments을 사용해보십시오. 이것을 위해 meow을 추천합니다. envy and meow together을 사용하는 예도 참조하십시오. 구문에 관한
:에 따라 당신이 (예를 들어 envy
대 dotenv
) 사용 및 로더의 .env
파일의 구문은 구문 분석하는 방법에 큰 영향을 미칠 수 있습니다. 예를 들어, Bash 및 (파일을 기반으로) 다른 셸에서 다음 예 각자는
MY_VAR=foo $BAR
MY_VAR='foo $BAR'
MY_VAR="foo $BAR"
또한 환경 변수 이름은 대소 문자이며 관례이다 ... 완전히 다르게 작동 모두 대문자. 이는 흔하지 않은 언어의 실수로 이어질 수 있습니다. Node.js 프로그램에서
process.env
을 읽으면 환경 변수에 대한 명명 규칙이 나머지 프로그램과 다릅니다. 당신이
envy
를 사용하는 경우이를 반환하기 전에 낙타 표기법하는 변수 이름을 정상화하여이를 수정으로
const myVar = process.env.myVar; // wrong
const myVar = process.env.MY_VAR; // correct
케이스는 문제가되지 않습니다.
const { myVar } = envy(); // correct, no matter how it is in `.env`
에 관계없이 당신이 물론 .env
파일을 읽을 수 있습니다 전에로드 함수를 호출해야합니다, 사용 및 로더. 만 사용하기 때문에 envy()
을 잊어 버리는 것은 거의 불가능합니다. 그러나 dotenv
을 사용하는 경우 dotenv.config()
을 호출하기 전에 이미 사용할 수 있고 채워져 있기 때문에 잘못된 시간에 process.env
에 쉽게 액세스 할 수 있습니다 (그러나 원하는 모든 속성이 아님).
디버깅에 도움이되고 시간과 노력을 절약하는 또 다른 트릭은 구성을위한 전용 모듈을 만드는 것입니다. require cache 덕분에 우리는 작업을 여러 번하지 않아도되고 로더가 idempotent 인 것에 의존하지 않을 것입니다.
env.js
이라는 파일에 넣으십시오.
const envy = require('envy');
module.exports = envy();
그런 다음 다른 곳으로 가져 오십시오.
const env = require('./env');
이제 디버깅하기가 매우 쉽고 가져온 위치와 상관없이 동일하게 작동해야합니다.
그냥 .env의 파일에 xxyz = HTTPSiteAddress를 추가합니다. 그런 다음 process.env.xxyz를 사용하여 아무 데나 변수를 호출 할 수 있습니다.
이var request = require("request");
request(process.env.xxyz, function(error, response, body) {
console.log(body);
});
이 상단에있는 한 당신의 keystone.js 파일에 포함 된대로 작동합니다 :
require('dotenv').config();
예를 들어
- 1. docker .env 파일에서 환경 변수를 사용하는 방법은 무엇입니까?
- 2. 다른 파일에서 한 js 파일의 변수를 사용하는 방법은 무엇입니까?
- 3. CodeBehind (aspx.cs) 파일에서 JS 변수를 사용하는 방법은 무엇입니까?
- 4. js 파일에서 fopen/fwrite를 사용하는 방법은 무엇입니까?
- 5. 다른 .js 파일에서 acorn.js를 사용하는 방법은 무엇입니까?
- 6. 다른 적은 파일에서 변수를 사용하는 방법은 무엇입니까?
- 7. js 파일에서 qml 카메라를 사용하는 방법은 무엇입니까?
- 8. 각도 js 파일에서 쿠키를 사용하는 방법은 무엇입니까?
- 9. 변수를 js 코드로 사용하는 방법은 무엇입니까?
- 10. 파일에서 변수를 grep하는 방법은 무엇입니까?
- 11. 정규식을 사용하여 파일에서 env 변수를 추출하십시오.
- 12. Code.gs가 아닌 js 파일에서 GmailApp을 참조하는 방법은 무엇입니까?
- 13. expect에서 env 변수를 잡는 방법은 무엇입니까?
- 14. ajax로 외부 자바 스크립트 파일에서 PHP 변수를 사용하는 방법은 무엇입니까?
- 15. cygwin .bashrc에서 windows env 변수를 설정하는 방법은 무엇입니까?
- 16. 리눅스에서 env 변수를 파일에서 내보내는 동안의 차이점은 무엇입니까?
- 17. 수식에서 변수를 사용하는 방법은 무엇입니까?
- 18. 변수를 파일 이름으로 사용하는 방법은 무엇입니까?
- 19. 빌드 파일에서 사용자 입력 변수를 사용하는 방법은 무엇입니까?
- 20. js 파일에서 사용되지 않는 변수를 처리하는 방법은 무엇입니까?
- 21. Slurm 배치 파일에서 변수를 선언하고 multiprog conf에서 사용하는 방법은 무엇입니까?
- 22. paw config에 저장하는 대신 .env 파일에서 환경 변수를 읽는 방법
- 23. .env 파일에서 앱 이름 변경
- 24. 테스트를 올바르게 실행하기 위해 maven에 env 변수를 설정하는 방법은 무엇입니까?
- 25. 동일한 JS 파일에서 JS 파일의 URL을 가져 오는 방법은 무엇입니까?
- 26. 외부 js 파일에서 이벤트를 트리거하는 방법은 무엇입니까?
- 27. 동일한 Mongodb 스크립트 JS 파일에서 전역 변수를 사용하는 방법
- 28. (Node.js를 파일에) 다른 JS 파일에서 JQuery와 변수를 사용하는 방법
- 29. PHP 포함 파일에서 변수를 설정하는 방법은 무엇입니까?
- 30. 다른 .js 파일에서 .js 파일 호출