javascript - Express 相对于路由而不是绝对路由提供静态 Assets 文件

标签 javascript node.js express

在 express 中我有以下路线:

app.get('/story/:username', function(req, res){
    res.render('dashboard.ejs');
});

在此之前,我提供位于 /public 中的所有静态文件:

app.use(express.static(__dirname + '/public'));

现在我相信这是在为根目录提供服务,因此当我访问路径 http://localhost:8080/story/user17 时,它仍然能够拉取我的静态文件,例如作为来自 http://localhost:8080/css/main.csscss/main.css。相反,当我尝试加载页面并检查控制台时,我一直看到这个错误:

GET http://localhost:8080/story/css/main.css (404)

我所有的静态文件。为什么它试图从相对目录而不是绝对根目录加载我的所有静态文件,我该如何修复它?

最佳答案

dashboard.ejs 中的 CSS 文件路径从 css/main.css 更改为 ../css/main.css这样就可以从浏览器看到的页面中找到它 /story/someUser

关于javascript - Express 相对于路由而不是绝对路由提供静态 Assets 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30051484/

相关文章:

javascript - 使用 Facebook Live API 创建实时视频对象时的隐私设置

javascript - 从 'react/lib/ReactComponentTreeHook' 找不到模块 'ReactDebugTool.js'

node.js - 请求完成后,nodejs 表示关闭服务器

javascript - 在 JavaScript/Node.js 中运行 .map 时如何跳过回调?

javascript - 将图像加载到 div 而不刷新浏览器

javascript - 打开时灯箱未对齐

node.js - 如何通过 SSL 连接以 Sequelize 数据库

node.js - Jest/ super 测试错误,类型错误 : app. 地址不是函数

javascript - ReactJS 服务器端渲染上文档事件处理的 ReferenceError

javascript - 将数组的元素附加到字符串