错误:无法使用把手

时间:2016-06-01 20:00:30

标签: javascript node.js express

您好我是Node JS中的Web开发新手。在今天的工作中,我的任务是为Web应用程序设置环境。我正在使用把手,但我无法使“视图引擎设置”工作以呈现“视图”文件和布局文件夹。我查看了文档和每个堆栈溢出帖子,类似于我的问题,但我仍然无处可去。这是我下面的server.js代码和我的应用程序的架构。我将非常感谢您提前感谢任何反馈!

 var express = require('express');
    var path = require('path');
    var handlebars = require('handlebars');
    var exphbs = require('express-handlebars');
    var app = express();
    var cookieParser = require('cookie-parser');
    var bodyParser = require('body-parser');

    //view engine setup
    app.set('views', './views')
    app.engine('.hbs', exphbs({ defaultLayout: 'main', extname: '.hbs' }));
    app.set('view engine', '.hbs');

    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(cookieParser());
    app.use(express.static(__dirname + '/public'));

    //routes
    app.get('/home', function(req, res){
    res.render('home');
    });
    //error handlers
    //404 catch-all handler(middleware)
    app.use(function(req, res, next){
    res.status(404);
    res.send('404');
   });
    //500 error handler(middleware)
    app.use(function(req, res, err, next){
      console.error(err.stack);
      res.status(500);
      res.send('500');
   });
   // development error handler
   // will print stacktrace
   if (app.get('env') === 'development') {
     app.use(function(err, req, res, next) {
       res.status(err.status || 500);
       res.render('error', {
         message: err.message,
         error: err
       });
     });
   }
   // production error handler
   // no stacktraces leaked to user
   app.use(function(err, req, res, next) {
     res.status(err.status || 500);
     res.render('error', {
       message: err.message,
       error: {}
     });
   });

app.listen(process.env.PORT || 5000);
console.log('Listening on port 5000');


fgcms
├── server.js
├── node_modules
└── package.json
├── public
└── views
       ├── layouts──home.hbs
       └──main.hbs

0 个答案:

没有答案