2015-07-09 45 views
0

不知道這裏發生了什麼。我以前做過這種事情,工作得很好。我正在嘗試創建一個博客,以加載來自MongoDB的markdown格式的帖子,並將它們插入到一個jade模板中。這部分似乎都工作正常,直到我嘗試添加一個CSS文件(我使用app.use(express.static(dirname__ + '/public'))並將CSS文件放入public)。將鏈接添加到Jade文件之前,一切正常。當我添加鏈接到CSS文件時,應用程序加載正確,但沒有添加CSS樣式,並且終端中出現錯誤消息。當然,如果我嘗試刷新,它會告訴我該網頁不可用。爲什麼添加一個CSS鏈接到我的玉模板讓我的節點應用程序崩潰?

這裏的錯誤消息,它給了我:

TypeError: Cannot read property 'entry' of undefined 

下面是錯誤消息指向路由器:

app.get('/article/:title', function(req, res){ 
    var title = req.params.title; 
    MongoClient.connect(dbUrl, function(err, db){ 
     if(err){ 
      return err; 
     }else{ 
      var col = db.collection('posts'); 
      col.find({ title: title }).toArray(function(err, docs){ 
       if(err){ 
        return err; 
       }else{ 
        res.render('article', { md: marked, post: docs[0].entry }) 
        return db.close(); 
       } 
      }); 
     } 
    }); 
}); 

這是我的玉文件:

doctype html 
html 
    head 
     link(rel='stylesheet', href='style.css') 
     title Article 
    body 
     header 
      h1 Blog Title 
       br 
       span Subheader 
     content!= md(post) 

我已經嘗試了幾種不同的東西。似乎將鏈接指向一個不存在的文件根本沒有任何作用,所以問題不在於CSS鏈接的完整性,而在於鏈接到它的行爲。我還將其與我製作的其他節點應用程序進行了比較,這些節點應用程序確實有效,而且我沒有看到任何顯着差異。再次,直到我嘗試將CS​​S文件的鏈接添加到玉模板中,應用程序纔沒有錯誤。它加載所有內容(包括數據庫的降價,並將其呈現在頁面上),但不包括CSS樣式,則崩潰。有人能給我一個想法,爲什麼這不起作用?

回答

2

試試這個:

link(href='/stylesheets/style.css') 

,並把你的CSS的樣式表文件夾

+0

這工作......但現在我超級困惑,因爲所有其他項目,我做了,我沒有」不要添加斜槓,但他們仍然有效。你知道他們有時是否有必要的原因,但有時候不是嗎? – Nathan

相關問題