728x90
⚔️
노드의 뷰 엔진으로 handlebars를 적용하다가
아래와 같은 에러가 발생하였습니다.
TypeError: expressHandlebars is not a function
const expressHandlebars = require("express-handlebars");
app.engine(
"handlebars",
expressHandlebars({
defaultLayout: "main",
})
);
< 에러가 발생한 코드>
아래 둘 중 하나로 고치면 해결됩니다.
const expressHandlebars = require("express-handlebars");
app.engine(
"handlebars",
expressHandlebars.engine({
defaultLayout: "main",
})
);
< 방법1: 5번째 줄 "expressHandlebars" => "expressHandlebars.engine">
const { engine } = require("express-handlebars");
app.engine(
"handlebars",
engine({
defaultLayout: "main",
})
);
< 방법2: 1번째 줄 "expressHandlebars" => "{ engine }", 5번째 줄 "expressHandlebars" => "engine">
에러가 발생한 이유
engine 함수를 사용하지 않았습니다.
해결방안
engine 함수를 호출하거나, engine 함수를 임포트해야 합니다.
📌
https://stackoverflow.com/questions/69959820/typeerror-exphbs-is-not-a-function
728x90
'액티브 스킬 > 노드' 카테고리의 다른 글
<Node.js> express.urlencoded가 필요한 이유 (0) | 2022.03.02 |
---|---|
<Node.js> __dirname 이해하고 가기 (0) | 2021.12.19 |
<Node.js> multer middleware (0) | 2021.12.02 |
<Node.js> Express (Routes, Controllers, URL parameter) (0) | 2021.11.07 |
<Node.js> npm run dev 실행 속도 문제 (0) | 2021.11.04 |