node.js不会在所有页面中加载CSS样式

时间:2018-11-17 03:24:21

标签: css node.js express

我正在从头开始编写一个简单的博客,以学习node.js + express。不过,当我尝试访问嵌套的目录时,我很困惑,无法加载样式。例如:

 day 12/11/2018 > 2
 day 13/11/2018 > 4 
 day 14/11/2018 > 1
 day 15/11/2018 > 5
 day 16/11/2018 > 7 

将不使用样式,而是仅使用“ / posts”。

你知道是什么原因造成的吗?这是完整的代码:

SELECT COUNT(*)
FROM posts
WHERE 1
GROUP BY date 

这是目录结构:

app.get('/posts/new', (req, res) => {
  res.render('create')
});

所有相关样式都是公开的,而模板引擎文件位于视图中。

1 个答案:

答案 0 :(得分:0)

您可以通过创建虚拟路径(如
app.use('/assets',express.static(__dirname + '/public/css')); 其中public是存储所有资产的目录,css是存储所有css文件的文件夹,您可以在link标记中的虚拟路径,href属性用于加载css,例如:模板文件,您可以在其中写入链接标记 <link rel="stylesheet" type="text/css" href="/assets/create.css">我曾尝试使用与您相同的目录结构,并试图模拟错误并解决了css加载问题,您可以参考https://github.com/ardnahcivar/Node.js-Code-/tree/master/11-17-18代码