Expressjs添加:url的id参数打破了静态内容

时间:2016-09-30 22:52:04

标签: node.js express

我为 / new和edit /:id

返回相同的视图

但是当它呈现样式时,找不到js文件 编辑/:ID

为什么Expressjs会发生这种情况。它应该总是相对于公共文件夹,不是吗?

路线:

router.get('/new', function(req, res, next) {
    res.render('index', { title: 'New', id: 0 });
});

router.get('/edit/:id', function(req, res, next) {
  res.render('index', { title: 'Edit', id: req.params.id });
});

在视图中,我有这样的风格

<script src="javascripts/jquery-3.1.0.min.js"></script>
<link href="bootstrap-3.3.7/css/bootstrap.min.css" rel="stylesheet">

所有内容都在公共文件夹中

1 个答案:

答案 0 :(得分:3)

您的脚本和链接需要绝对的URL(以斜杠开头)。

<script src="/javascripts/jquery-3.1.0.min.js"></script>
<link href="/bootstrap-3.3.7/css/bootstrap.min.css" rel="stylesheet">

您的浏览器会看到相对路径,因此它正在请求

中的内容

edit/javascript/jquery-3.1.0.min.js并不存在。