2017-12-29 17 views
0
Error: ENOENT: no such file or directory, open './views/transactions/html.pug' 

내 응용 프로그램을 로컬로 실행 문제가 없지만 일단 Heroku를 누르면 위의 오류가 발생합니다. 로컬로 익스프레스 서버를 사용하기 위해 노드를 사용하고 있습니다. 이메일을 보내기 위해 일부 html을 컴파일하기 위해 pug를 사용하고 있습니다. 이 문제를 일으키는 기능입니다.pug.compileFile ('./ views/transactions/html.pug'); Heroku Node Express. 오류 : ENOENT : 해당 파일이나 디렉토리가 열려 있지 않습니다. 열기

pug.compileFile('./views/transactions/html.pug') 

동일한 서버에서 정적/빌드 파일을 제공하는 React 노드 Express를 사용하십시오. File Structure

내 의심 내 nodemon이 일을하고있을 것입니다 로컬로 실행하고 때와 같이 나는이 작업을 수행하는 방법을 모르겠어요,하지만, '전망'디렉토리를 제공 할 필요가 있다는 것입니다.

이것은 내 server.js 파일 enter image description here의보기입니다.

답변

0

나는이 오류 메시지에 대한 해결책을 가지고있다. 나는이 게시물 about node/heroku filepaths에서 이것을 얻었다.

로컬 파일 경로가 올바른 파일을 가리키고 있지만 온라인/heroku 서버가 다른 파일 경로가 필요하다는 것이 문제였습니다. 나는 그것이 가치있는 것을 위해 파일 구조의 그림을 포함 시켰습니다.

function createEmailFilePath(filename) { 
    const newpath = process.env.NODE_ENV === 'production' ? 
    path.resolve('emails', 'transactions', filename) : 
    path.resolve('..', 'emails', 'transactions', filename); 
    return newpath; 
} 

enter image description here

관련 문제