问题描述
这是我的app.js代码。
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var expressValidator = require('express-validator');
var expressHbs = require('express-handlebars');
var mongoose = require('mongoose');
var passport = require('passport');
var session = require('express-session');
require('./passport');
var config = require('./config');
var indexRoute = require('./routes/index');
var authRoute = require('./routes/auth');
mongoose.connect(config.dbConnstring);
global.User = require('./models/user');
global.Editable = require('./models/Editable');
var app = express();
// view engine setup
**app.set('views',path.join(__dirname,'views'));
//setting up the RegisterHelper
var hbsss = expressHbs.create({
// Specify helpers which are only registered on this instance.
defaultLayout: 'status',layoutsDir: path.join(__dirname,'views'),helpers: {
sum: function (num) {
return (num+90);
}
}
});
//
app.engine('handlebars',hbsss.engine);
app.set('view engine','hbs');**
// app.locals.layout = false;
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(expressValidator());
app.use(cookieParser());
app.use(session({
secret: config.sessionKey,resave: false,saveUninitialized: true,maxAge: 30*10000
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(express.static(path.join(__dirname,'public')));
app.use(function(req,res,next) {
if (req.isAuthenticated()) {
res.locals.user = req.user;
}
next();
});
app.use('/',indexRoute);
app.use('/',authRoute);
// catch 404 and forward to error handler
app.use(function(req,next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
// error handler
app.use(function(err,req,next) {
// set locals,only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
我试图在Views文件夹中的status.hbs文件中使用此功能。
<td>sum = {{sum 10}}</td>
Missing helper: "sum"
P.S。我是否需要在以下代码中仅将车把代替hbs?由于我已将.hbs
文件夹中所有文件的默认扩展名设置为View
而不是.handlebars。
app.set('view engine','hbs')
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)