首页 > 解决方案 > hbs 没有在 node.js 中定义?

问题描述

我在 node.js 应用程序中安装了用于模板处理的把手并将引擎设置为 hbs 但在运行时它说ReferenceError: hbs is not defined

const express = require('express');
const app = express();
const PORT = 8080;
const HOST = '0.0.0.0';
app.engine('handlebars', hbs.engine);
app.set('view engine', 'handlebars');


app.get('/home',(req,res)=>{
res.render('home');
});

app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);

如何解决这个问题?

标签: javascriptnode.jstemplateshandlebars.js

解决方案


你需要先安装hbs

npm install express-handlebars


const expressHbs = require('express-handlebars');

然后设置引擎

app.engine('.hbs', expressHbs({defaultLayout: 'layout', extname: '.hbs'}));
app.set('view engine', '.hbs');

推荐阅读