2013-10-08 381 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

有沒有鏈接或什麼?我在您的帖子一小時內點擊了該複選標記。 –