我正在开发如下网站
webpage
-app
-routers
-photo.js
-public
-css
-photo.css
-views
-photo.ejs
-server.js
当我连接到 localhost:3000 / photo 时我没有问题。 但是,当我连接到 localhost:3000 / photo / hero 时,我无法获得CSS 所以,我添加这三行
app.use('/photo/4din2d',express.static(__dirname + '/public'));
app.use('/photo/tree',express.static(__dirname + '/public'));
app.use('/photo/hero',express.static(__dirname + '/public'));
这是问题,我要添加更多类别,如'英雄,树,4din2d' 我认为每次添加express.static不是一个好方法。请给我正确的方法。
photo.js
router.get('/', (req,res)=>{ res.render('photo'); }); router.get('/:id',(req,res)=>{ var category = req.params.id; res.render('photo'); });
photo.ejs
<link rel="stylesheet" href="./css/photo.css">
server.js
app.use(express.static(__dirname + '/public'));
app.use('/photo',express.static(__dirname + '/public'));
app.use('/photo/4din2d',express.static(__dirname + '/public'));
app.use('/photo/tree',express.static(__dirname + '/public'));
app.use('/photo/hero',express.static(__dirname + '/public'));
var photo = require('./app/routers/photo.js');
app.use('/photo',photo);
答案 0 :(得分:0)
在 server.js 中,您只需要一个静态目录 public :
app.use(express.static(__dirname + '/public'))
然后在 photo.ejs 中,您应该相对于根( / )而不是相对于当前路线( ./ 强>):
<link rel="stylesheet" href="/css/photo.css">
我希望这会有所帮助。