Ember并没有在生产中加载一些图像

时间:2016-02-18 01:41:49

标签: javascript heroku ember.js

我有一个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路径相同,除非显然有不同的域。

所有其他图像在不与组件一起使用时有效。

我哪里错了?

1 个答案:

答案 0 :(得分:3)

当您使用生产环境构建时,您的资产会经历名为fingerprinting的内容。

这里的问题似乎是你的&#34;内置&#34; url链接到未指纹文件,一种解决方案是将这些图像移动到文件夹中,并将其排除在指纹之外,在ember-cli-build.js

var app = new EmberApp({
  fingerprint: {
    exclude: ['myComponentImages/']
  }
});

更好的解决方案是拥有完整的网址或传递更改显示图片的类,因为它们看起来像是静态资源而不是用户上传的内容。