为什么在我的 jade 模板中添加 CSS link 会使我的节点应用程序崩溃?

Why does adding a CSS link to my jade template make my node app crash?

不确定这里发生了什么。我以前做过这种事情,而且效果很好。我正在尝试制作一个博客,从 MongoDB 加载降价格式的帖子并将它们插入到 jade 模板中。这部分似乎工作正常,直到我尝试添加一个 CSS 文件(我正在使用 app.use(express.static(dirname__ + '/public')) 并将 CSS 文件放在 public 中)。在将 link 到 CSS 文件添加到 Jade 文件之前,一切正常。但是,当我将 link 添加到 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)

我尝试了几种不同的方法。似乎将 link 指向一个不存在的文件根本没有效果,所以问题不在于 CSS link 的完整性,而在于 [=35] 的行为=] 对它。我还将它与我像这样制作的其他节点应用程序进行了比较,但我没有发现任何显着差异。再一次,在我尝试将 link 添加到 CSS 文件到 jade 模板之前,应用程序没有错误。它加载所有内容(包括来自数据库的降价,并将其呈现在页面上),但不包含 CSS 样式,然后崩溃。有人可以告诉我为什么这不起作用吗?

试试这个:

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

并将您的 css 放入样式表文件夹