node.js(express)链接css / js

时间:2016-01-16 21:19:24

标签: node.js express

我在页面上链接我的css / js时遇到问题。 链接localhost:5000/books/1无法正常工作  但是在localhost:5000/books/工作

页面上
app.use(express.static(__dirname + "/public"));

bookRouter.route('/')
            .get(function(req,res){
    res.render('books',{title:"Tytuł", nav:[
                            {
                                Link: "/Books",
                                Text: "Books"
                            },{
                                Link: "/Authors",
                                Text: "Authors"
                            }],
                            books: books
                       });


});

bookRouter.route('/:id')
            .get(function(req,res){

        var id = req.params.id;
      res.render('bookView',{title:"Tytuł", nav:[
                            {
                                Link: "/Books",
                                Text: "Books"
                            },{
                                Link: "/Authors",
                                Text: "Authors"
                            }],
                            book: books[id]
                       });


});

app.use('/books',bookRouter);

路由工作但不链接css / jss。它在http://localhost:5000/books/lib/bootstrap/dist/css/bootstrap.min.css

中查找

2 个答案:

答案 0 :(得分:2)

我和你的问题一样。 关键是它从http://localhost:5000/books/lib/bootstrap/dist/css/bootstrap.min.css查找CSS文件(或js)的原因 而不是来自 http://localhost:5000/lib/bootstrap/dist/css/bootstrap.min.css

尝试添加

<base href="/">
在你的html文件中

。矿井工作了。

答案 1 :(得分:1)

你可能解决了这样的css文件:

<link rel="stylesheet" type="text/css" href="lib/bootstrap/dist/css/bootstrap.min.css">

将其替换为:

<link rel="stylesheet" type="text/css" href="/lib/bootstrap/dist/css/bootstrap.min.css">

如果您想了解有关绝对和相对路径的更多信息,请查看this question