【问题标题】:Why is my express router not showing static content为什么我的快速路由器不显示静态内容
【发布时间】:2022-01-15 01:45:21
【问题描述】:

我正在从根目录中的 index.js 文件中提供我的静态文件,之后我连接我的路由器。

 app.use(express.static(path.join(__dirname, 'static')))
 app.use('/users', usersRouter)

路由器工作正常。但是,它不提供任何静态内容,该内容位于名为“static”的文件夹下的根目录中。如果我访问我的主文件 index.js 中的其他页面,它会正确地为这些页面提供静态内容。

当我在浏览器中查看控制台时,出现以下错误。

来自“http://localhost:3000/users/css/style.css”的资源由于 MIME 类型(“text/html”)不匹配(X-Content-Type-Options: nosniff)而被阻止

为什么会这样?我该如何解决这个问题?

谢谢

【问题讨论】:

    标签: express static router


    【解决方案1】:

    您的 CSS 文件路径不正确

    http://localhost:3000/users/css/style.css

    它应该像http://localhost:3000/css/style.css 或您可以在app.use() 函数中定义的任何其他函数,例如:-

    app.use("/public", express.static(path.join(__dirname, 'public')));

    【讨论】:

    • 这正是我不明白的问题。我正在使用车把。我的主要布局有以下代码。 。出于某种原因,当我转到用户路径时,它会将这个额外的 /users 添加到链接中。
    • 你的路径是这样的 href="css/style.css 它从当前路径中获取资源,在你的情况下就像 / users of something。你可以像 href="/css 一样使用它/style.css" 所以每次它从你的域的根目录获取资源路径
    • 来自示例localhost:3000 正确地提供静态内容。样式表链接是 ,但 localhost:3000/users/register 不提供任何静态内容,即使样式表的链接是相同的 。这不是链接问题,而是服务器的问题,我只是不明白在哪里。
    • 能否查看表单源代码是否可以正确访问根页面和其他页面的CSS文件及其路径
    猜你喜欢
    • 2020-07-07
    • 2021-12-10
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多