Express.js - 仅在一页上呈现图像

时间:2018-04-07 08:08:19

标签: javascript html image express pug

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

图片应在路线' /','数据'更新'的页面上呈现。它在root' /'上成功呈现,但之后从Sources文件夹中消失。

在app.js中,我有关于我所有路由处理程序的中间件:

 new Container(
                      height: MediaQuery.of(context).size.height/2,
..            )

在公共文件夹中,我还有文件styles.css,可以在其他页面上呈现。

我把它修好了

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

而不是

  img(src="/image.jpg") 

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分: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),因此它始终有效。