不知道這裏發生了什麼。我以前做過這種事情,工作得很好。我正在嘗試創建一個博客,以加載來自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鏈接的完整性,而在於鏈接到它的行爲。我還將其與我製作的其他節點應用程序進行了比較,這些節點應用程序確實有效,而且我沒有看到任何顯着差異。再次,直到我嘗試將CSS文件的鏈接添加到玉模板中,應用程序纔沒有錯誤。它加載所有內容(包括數據庫的降價,並將其呈現在頁面上),但不包括CSS樣式,則崩潰。有人能給我一個想法,爲什麼這不起作用?
這工作......但現在我超級困惑,因爲所有其他項目,我做了,我沒有」不要添加斜槓,但他們仍然有效。你知道他們有時是否有必要的原因,但有時候不是嗎? – Nathan