TypeError:车把不是函数错误

Posted

技术标签:

【中文标题】TypeError:车把不是函数错误【英文标题】:TypeError: handlebars is not a function error 【发布时间】:2022-01-18 00:04:45 【问题描述】:

我是 node.js 的新手,我使用模板引擎 express-handlebar,但我遇到的问题是:**TypeError:handlebars is not a function at Object. ** 。我有很多搜索,但没有任何要修复的答案。我的代码如下:

const morgan = require('morgan');
const handlebars  = require('express-handlebars');
const app=express();
const port =3000;

// hTTP logger
app.use(morgan('combined'));

//templace engie
app.engine('handlebars',handlebars());
app.set('view engine','handlebars');
app.get('/',(req,res)=>    
    return res.send('hello world');    
);
app.listen(port,()=>console.log(`Example app listening at http://localhost:$port`));````

【问题讨论】:

你使用什么版本的express-handlebars 是6.0.2版 app.engine('handlebars',handlebars()); 必须是 app.engine('handlebars',handlebars.engine()); 【参考方案1】:

对于 6.0.2 版本,express-handlebars 包导出 createengine 函数。见source code基本用法应该是:

const  engine  = require("express-handlebars");
const express = require("express");
const app = express();
const port = 3000;

//templace engie
app.engine("handlebars", engine());
app.set("view engine", "handlebars");
app.get("/", (req, res) => 
  return res.send("hello world");
);
app.listen(port, () =>
  console.log(`Example app listening at http://localhost:$port`)
);

【讨论】:

以上是关于TypeError:车把不是函数错误的主要内容,如果未能解决你的问题,请参考以下文章

挂载钩子中的错误:“TypeError:没有'new'就不能调用类构造函数节点”

由于:TypeError:handlebars is not a function,无法设置车把

快速车把功能

Handlebars.Compile() 函数中的 C# 车把错误

TypeError:无法读取未定义的属性(读取“公会”)

谷歌或工具:AddVariableMinimizedByFinalizer TypeError