2017-05-07 4 views
0

srcen 폴더에 바로 내 옆에 앉아있는 .env 파일에 내 server.js 파일이있는 dotenv를 사용하여 꽤 일반적인 Nodejs 설정이 있습니다. bin/www.js 파일과 함께 제공됩니다. 내가NodeJs 및 Dotenv - nodemon을 실행하면 src 폴더에서 .env 파일을 찾을 수 없음

nodemon (from the root of my repo) 
npm start 
nodemon src/server 
nodemon src 
etc 

... 다음 더 이상 모든 작업을 실행, dotenv를 사용하기 시작 이래 모든 실패하고 내 환경 변수 중 어느 것도 제대로로드되지 얻을. 나는 실제 src 폴더로 가서 정확한 위치에 "nodemon server.js"를 실행해야한다. 이것은 내가 사용했던 일부 빌드 환경과 heroku와 같은 나의 이전 클라우드 셋업에 문제를 일으킨다. 내 server.js 파일과 동일한 폴더에 .env 파일을 가지고 있다고 생각했지만 항상 그렇지 않았습니다.

누구나 dotenv가 .env 파일을 찾지 못하고 nodemon을 시작한 위치에 따라 환경 변수를로드하지 못하는 이유를 말해 줄 수 있습니까? nodemon이 server.js 파일을 찾았음에도 불구하고?

기본적으로 저장소의 루트 폴더에서 nodemon을 실행하고 여전히 dotenv 작업을 할 수 있기를 바랍니다. 또한 .env 폴더를 루트 디렉토리로 옮기려고 시도했지만 여전히 문제가 있습니다.

답변

0

나는 똑같은 문제가 있었지만 문제를 해결할 방법을 찾았지만 전혀 문제가되지 않았습니다.

내가 너라

node --require dotenv/config --require babel-register ./bin/www 

node ./bin/www --require dotenv/config --require babel-register 

--require

./bin/www 

그래서 난 사용하여 결국 아닙니다 노드 아마 때문에, 같은 방식으로 작동하지 않습니다

nodemon({ 
    script: '--require', 
    cwd: './dist', 
    tasks: [ 
    'dist', 
    ], 
    args: [ 
    'dotenv/config', 
    '--require', 
    'babel-register', 
    './bin/www', // YEAH it's weird but 
    ], 
    watch: [ 
    './src', 
    ], 
}); 

그래, 나도 알아, 못생긴지만, 더 좋은 방법이 있다면, 나에게 알려줘.