我试图围绕静态资产在生产环境中如何运作,文档似乎相当恐慌,但它可能只是我。
根据http://www.phoenixframework.org/docs/deployment我应该运行MIX_ENV=prod mix phoenix.digest
,作为我部署的一部分。这似乎复制了我的所有资产,并将一个字符串连接到名称,然后在使用static_path/2
时将其提供,我想这与部署时缓存bust有关。太好了!
摘要功能还会在我的priv文件夹中创建manifest.json,它看起来像这样..
{"images/calltoaction.png":"images/calltoaction-13cfefeb09c991b12090bcf0a10f2dd2.png","fonts/fontawesome-webfont.woff2":"fonts/fontawesome-webfont-4b5a84aaf1c9485e060c503a0ff8cadb.woff2","im.....
我想凤凰城用它来将资产映射到相应的版本。如果我在这里完全错误,请纠正我。噢,关于我的问题。
在我的应用程序中,管理员可以在管理面板中上传图像,这些图像会上传到/priv/static/images/model/version/..
。问题是这些新上传的图像不在manifest.json文件中,因此不会显示?
这似乎非常时髦,因为没有显示新图像,也没有替换图像等。我将如何处理这个问题?我应该将我的图像上传到另一个地方,那不应该被消化吗?
答案 0 :(得分:1)
清单是一种缓存功能。 static_path
使用它来生成指向资产的链接。如果您不能将它用于所有资产,因为它们是动态上载的,您不需要使用它。换句话说,您应该能够像往常一样上传资产并使用static_path
,并且应该像开发一样投放。