我有这个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

07-25 23:43