0

我正在使用 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 渲染。控制台显示正在读取代码。不呈现其他视图。

谢谢。

4

1 回答 1

0

我认为您没有正确使用缩进。在您的索引中:

extends layout
block body
if (authenticated)
...
else

应该 :

extends layout
block body
  if (authenticated)
  ...
  else
于 2013-10-08T03:32:51.590 回答