2013-10-08 162 views
0

我正在使用Guillermo Rauch的书“Smashing Node.js”。第一章。在验证示例之前,12会设置一些视图/路由。我已尽全力跟随教程,并搜索(并搜索)我的错误。express 3.0.0 views not rendering

//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); 
在我的意见/ 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

的layout.jade变成HTML和浏览器中呈现,但它不被索引,注册或登录延长。没有错误记录。当我访问相应的URL时,我添加到路由中的消息被记录到控制台。我可以添加文本到布局,否则页面和浏览器控制台是空白的(当然,您可以查看源代码并查看html)。它位于git上:https://github.com/Ebot79/expressTest.git –

回答

0

我认为你没有正确使用缩进。在你的指数是:

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

应该是:

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

而已!!!!我谢谢你! –

+0

@EricSheasby你可以接受答案,以显示问题已经解决。 – user568109

+0

有没有链接或什么?我在您的帖子一小时内点击了该复选标记。 –