3

我收到此错误:

500 Error: ENOENT, open 'C:\Users\Gilbert\WebstormProjects\games\views\layout.hbs

但我的项目没有引用这个文件。当尝试使用 HBS 呈现一个简单的测试页面时,我使用了一个预生成的快速应用程序,该应用程序创建了一个 layout.jshtml 文件但删除了该文件。

应用程序.js:

/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require('./routes')
  , http = require('http')
  , path = require('path');

var app = express();

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'hbs');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(require('less-middleware')({ src: __dirname + '/public' }));
  app.use(express.static(path.join(__dirname, 'public')));
});

app.configure('development', function(){
  app.use(express.errorHandler());
});

app.get('/', routes.index);

http.createServer(app).listen(app.get('port'), function(){
  console.log("Express server listening on port " + app.get('port'));
});

路线/index.js:

/*
* GET home page.
*/

exports.index = function(req, res){
  res.render('hi.hbs', { title: 'Express' });
};

意见/hi.hbs:

<h1>IT WORKS</h1>
4

1 回答 1

2

使用 HBS,您必须手动禁用对布局的需求,layout:false这应该在应用程序中完成view options以使其成为全局应用程序。

于 2012-08-26T20:42:37.517 回答