express-handlebar
使用 app.engine
更改文件夹目录
它发生错误
var hbs= require("express-handlebars"); app.engine("hbs", hbs({ extname: "hbs", defaultLayout: "layout", layoutsDir: path.join(__dirname, "views", "layout"), // Corrected path partialsDir: path.join(__dirname, "views", "parts"),}));
错误很明显。
hbs
不是函数。您需要使用hbs.engine()
。
app.engine("hbs", hbs.engine({
extname: "hbs",
defaultLayout: "layout",
layoutsDir: path.join(__dirname, "views", "parts") //< Your new layoutsDir
}));
但是,您使用的是 Node v18.17,因此我建议您遵循 docs 并使用 ES Modules
import
语句。您会发现更容易利用此软件包。