我正在使用Guillermo Rauch的书“Smashing Node.js”。第一章。 12在验证示例之前设置一些视图/路由。我尽可能地遵循了教程,并搜索(和搜索)了我的错误。
//package.json
{
"name": "login"
,"version":"0.0.1"
,"main":"./index"
,"dependencies": {
"express": "3.0.0"
,"uglify-js" : "2.4.0"
,"mongodb":"1.3.19"
,"mongoose":"3.6.20"
,"bcrypt":"0.7.7"
,"jade":"0.35.0"
}
}
这是我的index.js
/**module dependenies**/
var express = require('express')
, mongodb = require('mongodb');
//set up app
app = express();
//middleware
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({secret: 'my secret'}));
//view options
app.set('view engine', 'jade');
//app.set('views', __dirname + '/views');
//app.set('view options', {layout: false});
//routes
//default route
app.get('/', function (req, res){
console.log('default');
res.render('index', {authenticated: false});
});
//login route
app.get('/login', function (req, res){
console.log('login');
res.render('login');
});
//signup route
app.get('/signup', function(req, res){
console.log('signup');
res.render('signup');
});
//listen
app.listen(3000);
在同一目录下我有一个views / layout.jade文件夹,index.jade,signup.jade,login.jade我会显示两个。
'layout.jade'
doctype 5
html
head
title BN Login
body
.wrapper
block body
和index.jade
extends layout
block body
if (authenticated)
p Welcome back, #{me.first}
a(href="/logout") Logout
else
p Welcome visitor!
ul
li: a(href='/login') Login
li: a(href="/signup") Signup
我评论过的那些行没有帮助或者已经老了。
layout.jade渲染。控制台显示正在读取代码。没有其他视图呈现。
感谢。
答案 0 :(得分:0)
我认为您没有正确使用缩进。在您的索引中:
extends layout
block body
if (authenticated)
...
else
应该是:
extends layout
block body
if (authenticated)
...
else