Express res.sendFile 没有上传 CSS

Posted

技术标签:

【中文标题】Express res.sendFile 没有上传 CSS【英文标题】:Express res.sendFile is not uploading CSS 【发布时间】:2021-11-09 08:48:38 【问题描述】:

代码运行并加载了 admin.html 文件,但没有加载标题中的 CSS 文件。只有当我将设计放在 HTML 中的样式标签之间时它才有效,问题是为什么。

router.get('/',async (req,res,next)=>
    let options = root: path.join(__dirname, "../");
    options = root:path.join(options.root, "../views");
    res.sendFile('admin.html',options););

【问题讨论】:

【参考方案1】:

您需要授予服务器静态文件以表达的权限,并将链接:css 标记添加到 HTML 本身。您可以使用app.use(express.static(<dirPath>,<css folder name>)) 在顶层设置读取权限。

【讨论】:

app.use(express.static(__dirname,'public/css/admin.css')) 这是我的代码,它没有运行,它说“TypeError:对象原型可能只是 Object 或 null:public/css/admin.css" 只需将公用文件夹传递给app.use 函数,例如:app.use(express.static(__dirname,'public')) 后跟链接:css 标记为 html 中的<link rel="stylesheet" href="/css/admin.css" /> 没看懂,我的结构是,app和public文件夹是在一起的,public结构是public/css/style.css,在哪里写什么?写三两行?因为它不适合我

以上是关于Express res.sendFile 没有上传 CSS的主要内容,如果未能解决你的问题,请参考以下文章

express:如何使用 sendFile 将 html 和 css 一起发送?

使用 sendFile() 在 Express 中发送静态文件

Angularjs - TypeError:路径必须是绝对路径或指定根到 res.sendFile

res.sendFile 绝对路径

如何防止用户直接在 express 中访问路由?

无法准确解读错误:TypeError:路径必须是绝对路径或在 ServerResponse.sendFile 处指定 res.sendFile 的根