【问题标题】:Express.js - Image only renders on one pageExpress.js - 图像只呈现在一页上
【发布时间】:2018-09-17 05:17:38
【问题描述】:

我正在尝试使用 Pug 和 Express 使图像出现在多个页面上。 但是我遇到了一些麻烦。

图像应该在页面上的路由“/”、“数据”、“更新”上呈现。它在根“/”上成功呈现,但之后从 Sources 文件夹中消失。

在 app.js 中,我的所有路由处理程序都有这个中间件:

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

在公用文件夹中,我还有文件 styles.css,它在其他页面上呈现良好。

我把它修好了

  img(src="/image.jpg") 

而不是

   img(src="image.jpg)

有人知道这是为什么吗?

【问题讨论】:

  • 模板中的相对网址?只需将它们变成静态的。

标签: javascript html image express pug


【解决方案1】:

假设您的页面上有以下网址(用于加载图像或其他内容):

  <img src="image.jpg" />

现在,如果该模板在主页上,例如http://example.com/,它将指向http://example.com/image.jpg,它将命中快速静态路由,一切都很好。现在你访问http://example.com/something,作为tze image url us relative,它将指向http://example.com/something/image.jpg。而且那个文件不存在。现在,如果您将图像更改为:

  <img src="/image.jpg" />

它将与页面 root (http://example.com) 相关,因此它将始终有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 2015-03-24
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多