我为 / 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">
所有内容都在公共文件夹中
答案 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
并不存在。