我有一个Ember-cli 1.13应用程序,其中有很多图像存储在公共目录中。现在,它将正确加载除特定组件中的图像之外的所有图像。
组件的调用方式如下:
{{list-item url="list-url" name="List Name" price="240"}}
在内部,组件是:
<a href="http://example.com/{{url}}">
<img src="/{{url}}.png" alt='Picture of the {{name}}' />
<p class="item-name">{{name}}</p>
...
</a>
当我构建应用程序并启动到heroku时,破碎的路径是
https://ridiculous-name-123123.herokuapp.com/list-item.png
哪个与localhost路径相同,除非显然有不同的域。
所有其他图像在不与组件一起使用时有效。
我哪里错了?
答案 0 :(得分:3)
当您使用生产环境构建时,您的资产会经历名为fingerprinting的内容。
这里的问题似乎是你的&#34;内置&#34; url链接到未指纹文件,一种解决方案是将这些图像移动到文件夹中,并将其排除在指纹之外,在ember-cli-build.js
:
var app = new EmberApp({
fingerprint: {
exclude: ['myComponentImages/']
}
});
更好的解决方案是拥有完整的网址或传递更改显示图片的类,因为它们看起来像是静态资源而不是用户上传的内容。