-
카테고리
-
세부 분야
풀스택
-
해결 여부
해결됨
7.6강 models/index.js의 대해서 궁금한 것이 있습니다.
22.01.14 08:34 작성 조회수 96
0
제가 교제를 보고 공부하는데 궁금한것이 있습니다. 7.6강 models/index.js파일을 보시면
const config = require('../config/config')[env];
이런 코드가 있던데 []가 배열에서 []안에 넣은 인덱스값을 참조하게 되는게 맞지 않나요? 그런데 제가 만든 프로젝트안에 ../config/config 을 살펴보면 env값은 없고 심지어 객체 데이터 타입이라 []로 참조할 수 있는게 맞나 싶습니다. 아니면 env를 참조할때는 저런 방식으로 사용하나요?
그리고 중요한점은 제가 이 코드를 프로젝트의 도입하려하는데 모종의 이유로 제 프로젝트에 ES2015방식을 사용하면서 모듈을 불러올때 const """ = require(""")이런 방식을 사용하지 못합니다. 따라서
const config = require('../config/config')[env];
이런 방식으로 [env]를 붙일 수가 없습니다. 질문을 요약하자면,
1. ../config/config(.json) 파일에는 배열객체가 아닌 json파일인데 왜 []가 사용되는지 궁금합니다.
2. 보통 env접근할때는 dotenv모듈을 불러와서 사용하지 않나요?
3. [env]가 어떤식으로 동작되는지 궁금합니다.
4. [env]가 꼭필요한지 궁금합니다.
5. [env]가 필요하다면 ES2015를 사용할때 어떤식으로 작성되어야 할지 궁금합니다.
답변을 작성해보세요.
0
조현영
지식공유자2022.01.14
1. 음.. 자바스크립트에서 []는 배열에만 쓰는게 아닙니다. 객체에 쓰이는 겁니다.
const a = { b: 'c' }이면 a['b']는 c입니다.
2. dotenv를 씁니다. 다만 여기서 env는 process.env.NODE_ENV로 production, development, test 등이 들어갈 수 있고, 이건 .env 파일에 적을 수 없는 내용입니다.
3. 그냥 전부 자바스크립트입니다. 자바스크립트 기본 문법입니다.
4. .env.development, .env.production, .env.test처럼 아예 env별로 .env 파일을 따로 만들어서 쓰는 방법도 있긴 합니다.
5. import config = require('../config/config')한 후에
config[env]로 쓰면 됩니다.
답변 1