我尝试使用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")
有人知道为什么会这样吗?
答案 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
),因此它始终有效。