我有这个Express应用,它利用路由和hbs进行考虑。当我添加子路由(如\risi\first
)时,所有css / html文件的路径名都附加了路由名-risi
如何使他们访问文件?
来自app.js的相关代码:
var risi= require('./routes/risi');
app.use('/risi', risi);
Risi.js路线:
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
res.render('risi', { title: 'RISI' }); //Works perfectly fine
});
router.get('/first', function(req, res, next) {
res.render('risi', { title: 'RISI' }); //unable to access the CSS / JS from here
});
router.get('/second', function(req, res, next) {
res.render('risi', { title: 'Joi' });
});
router.get('/third', function(req, res, next) {
res.render('risi', { title: 'Log' });
});
router.get('/fourth', function(req, res, next) {
res.render('risi', { title: 'Yo TO RISI!! <3' });
});
module.exports = router;
这是来自控制台的错误:
GET /risi/css/main.css 404 99.4567 ms -1166
所述CSS文件位于
/css/main.css
有人请帮忙!
最佳答案
您应该使用绝对路径
/css/main.css
(请注意前置的
/
)链接到您的css文件,以确保href不会附加到路由href