2017-06-09 27 views
0

我正在建立一个灰烬网站,我在生产中没有加载我的图像时出现问题。灰烬CSS - 图像没有在生产中加载

我在使用最新版本。 我已经安装了SASS模块,并在 应用程序\风格\一个非常基本的样式表app.scss

html { 
    height: 100%; 
    overflow-y: hidden; 
} 

body { 
    background-image: url('/assets/images/StockSnap_8SAODL7HZ4.jpg'); 
    background-position: 50%; 
    background-repeat: no-repeat; 
    background-size: cover; 
    height: 100%; 
} 

的SASS模块高兴地转换到这app.css

当我做了一个基本的烬服务,这工作正常。 但是,做了一个余烬部署生产 - 激活 AWS S3的事情出错。

我的资产都得到如预期按手印,所以我的图像文件将成为 资产/图像/ StockSnap_8SAODL7HZ4-4279bf0a502da08d183b81b67d479b40.jpg

但是我app.css没有得到更新,并继续寻找 assets/Images/StockSnap_8SAODL7HZ4.jpg

我想我错过了一些明显的东西,但不知道是什么!

+1

您的图片目录是“assets/images”还是“assets/Images”?你在后面的例子中会大写(这会导致大小写敏感的文件系统上的问题,如常见的生产Linux服务器)。 –

+1

我会建议测试这个本地以及'烬s --prod'。如果这是['broccoli-asset-rev'](https://github.com/rickharrison/broccoli-asset-rev)包的问题,​​那么它在本地也应该是个问题。 另一种可能是'broccoli-asset-rev'被文件名中的'8SAODL7HZ4'弄糊涂(也许它认为它已经被散列并忽略它),请尝试重命名它。 –

+0

谢谢我改变了图像上的capitilized I。用ember s --prod测试产生相同的结果 - css文件没有用指纹资源更新。我也尝试重命名文件。 –

回答

1

根据粘贴的URL例子判断,区分大小写可能会导致问题出现。

如果一个URL在生产中突破,但本地正常工作,我首先检查URL和实际文件路径之间的案例不匹配。这可能会导致一个问题,因为生产服务器的典型情况是敏感文件系统(特别是如果您有Linux服务器),但大多数开发机器通常是不敏感

举例来说,如果你有这样的网站结构:

test-site 
├── imgs 
│   └── test-image.png 
└── index.html 

这将会对案件的工作不敏感文件系统:

<img src="IMGS/test-image.png"> 

但是,它将404上的情况下敏感文件系统。

+0

谢谢迈克尔。只是要注意,因为我没有提到它。我在Windows机器上,这当然是不区分大小写的,并且它似乎即使然后与烬s - 产生的结果没有在css文件中更新 - 所以它似乎是烬本身就是这样做的第一个例子。 –