ejs模板中css失效

css样式丢失。应该是路径的问题。
访问路径是Request URL: http://localhost:3000/test.css
css和js是在同一个目录的,路径这样写应该是没有错的。
在用html本地打开的时候样式都还是可以出来的,但是本地运行js文件后,输入网址访问css样式就不见了。
希望各位大牛可以不吝赐教,谢谢大家。下面是部分代码。

const express = require('express');
const consolidate = require('consolidate');

let server = express();

server.set('view engine' , 'ejs');
server.set('views' , './');
server.engine('html' , consolidate.ejs);

server.get('/' , (req , res) => {
  res.render('index.ejs' , {username:'eric'});
});
server.get('/about' , (req , res) => {
  res.render('about.ejs' , {username:'eric'});
});
server.get('/news' , (req , res) => {
  res.render('news.ejs' , {username:'eric'});
});
server.get('/home' , (req , res) => {
  res.render('home.ejs' , {username:'eric'});
});
server.get('/contact' , (req , res) => {
  res.render('contact.ejs' , {username:'eric'});
});

server.listen(3000);

—————————————————————————————————————————

<!DOCTYPE html>
<html>
<head>
    <title>nav</title>
    <link rel="stylesheet" type="text/css" href="test.css">
</head>
<body>
    <ul>
        <li><a href="/home">主页</a></li>
        <li><a href="/news">新闻</a></li>
        <li><a href="/contact">联系</a></li>
        <li><a href="/about">关于</a></li>
    </ul>
</body>
</html>

和css代码应该是没关系的,所以css代码省略。

阅读 6.1k
1 个回答

最好将css文件等分开放置,比如放置在同目录下public文件夹下。
然后利用Express托管静态文件: app.use(express.static(__dirname+'public'));
相应访问的链接为:href="/public/test.css"

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题