2016-06-07 64 views
1

我对这一切都很陌生。我已经通过几个不同的教程将会得到相同的结果。我觉得有些东西与设置不兼容,或者我发胖了。以下是我相信的相关文件。我可以让res.send工作,但res.render不会渲染。我什至不能让它发出500或404错误。它似乎找到http://localhost:3000,虽然没有文字显示。我使用的是OS X 10.11.4,Node.js. Express3车把。无法使用OS X 10.11.4,Node.js获取res.render渲染。 Express3把手

directory: 
/Users/williamshaw/WebProjects/sicmobile 

Williams-MacBook:sicmobile williamshaw$ ls 

package.json resources sicmobile.js views 

bin node_modules public routes vendors 




sicmobile.js: 

var path = require('path'); 
var express = require('express'); 

// set up handlebars view engine 
var exphbs = require('express3-handlebars'); 
var app = express(); 

app.set('views', path.join(__dirname, '/views')); 
app.engine('handlebars', 
exphbs({defaultLayout: 'main'})); 
app.set('view engine', 'handlebars'); 

app.set('port', process.env.PORT || 3000); 
app.use(express.static(__dirname + '/public')); 

app.get('/', function(req, res) { 
res.render('home'); 
}); 
app.get('/about', function(req,res){ 
res.render('about'); 
}); 

// 404 catch-all handler (middleware) 
app.use(function(req, res, next){ 
res.status(404); 
res.render('404'); 
}); 

// 500 error handler (middleware) 
app.use(function(err, req, res, next){ 
console.error(err.stack); 
res.status(500); 
res.render('500'); 
}); 

app.listen(app.get('port'), function(){ 
console.log('Express started on http://localhost:' + 
    app.get('port') + '; press Ctrl-C to terminate.'); 
}); 

main.handlebars: 

<!doctype html> 
<html> 
<head> 
    <title>The Company>/title> 
</head> 
<body> 
    <div style='position: absolute; top: 0; height: 40px;'> 
    <h3> This is the header</h3> 
    </div> 

</div style='margin-top: 60px;'> 
     {{{ body }}} 
    </div> 
<div style='position: absolute; bottom: 0;height:40px;'> 
</div> 

</body> 
</html> 

home.handlebars: 

<!doctype html> 
<h1>Welcome to Shaw Investment Company</h1> 

about.handlebars: 
<h1>This is the About page.</h1> 

400.handlebars: 

<h1>404 - Not Found</h1> 

500.handlebars: 
<h1>500 - Server Error</h1> 

回答

1

您在main.handlebars中输入错误。

<title>The Company</title> 

如果您在开发人员控制台中检查页面元素,您将在标题标签本身中看到数据。

希望它有帮助。

+0

@Mukwah完成了!谢谢。我看了几个小时,看不到它。 –