ejs를 설치했는데도 안되는 사람에게 해당되는 글이다.
정상적으로 npm install ejs를 했고
app.set('view engine', 'ejs')도 했는데
router단에서 res.render시 아래 오류가 발생한다.
Error: Cannot find module 'ejs'
Require stack:
- C:\Users\user\Desktop\workspace\node_modules\express\lib\view.js
- C:\Users\user\Desktop\workspace\node_modules\express\lib\application.js
- C:\Users\user\Desktop\workspace\node_modules\express\lib\express.js
- C:\Users\user\Desktop\workspace\node_modules\express\index.js
- C:\Users\user\Desktop\workspace\ForkCraneServer\app.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:980:15)
at Function.Module._load (internal/modules/cjs/loader.js:862:27)
at Module.require (internal/modules/cjs/loader.js:1042:19)
at require (internal/modules/cjs/helpers.js:77:18)
at new View (C:\Users\user\Desktop\workspace\node_modules\express\lib\view.js:81:14)
at Function.render (C:\Users\user\Desktop\workspace\node_modules\express\lib\application.js:570:12)
at ServerResponse.render (C:\Users\user\Desktop\workspace\node_modules\express\lib\response.js:1012:7)
at C:\Users\user\Desktop\workspace\ForkCraneServer\app.js:39:9
at Layer.handle [as handle_request] (C:\Users\user\Desktop\workspace\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\user\Desktop\workspace\node_modules\express\lib\router\route.js:137:13)
아래 오류를 자세히 보면 알겠지만 현재 내 프로젝트 경로가 제대로 지정되지 않았다.
따라서 프로젝트 경로를 지정해줘야한다.
아래 코드를 통해서 ejs 모듈의 참조 경로를 지정해주자.
app.engine('ejs', require('ejs').__express)
'JS > Nodejs' 카테고리의 다른 글
nodejs axios writestream 파일 다운로드 (0) | 2021.05.10 |
---|---|
nodejs axios readstream 파일 업로드 (0) | 2021.05.10 |
Nodejs - 메모리 누수 확인 (9) | 2020.03.10 |
Nodejs - 메모리 할당 사이즈 변경 (2) | 2020.03.05 |
Nodejs - 메모리 JavaScript heap out of memory (0) | 2020.03.05 |