【问题标题】:Assets in prod environment, and file uploadprod 环境中的资产和文件上传
【发布时间】:2015-09-24 17:57:07
【问题描述】:

我正试图了解静态资产在生产环境中的工作方式,文档似乎很吓人,但可能就是我。

根据http://www.phoenixframework.org/docs/deployment,我应该运行MIX_ENV=prod mix phoenix.digest,作为我部署的一部分。这似乎复制了我所有的资产,并在名称上连接了一个字符串,如果使用static_path/2,则提供该字符串,我想这与部署时缓存半身像有关。太好了!

digest 函数还在我的 priv 文件夹中创建 manifest.json,它看起来像这样..

{"images/calltoaction.png":"images/calltoaction-13cfefeb09c991b12090bcf0a10f2dd2.png","fonts/fontawesome-webfont.woff2":"fonts/fontawesome-webfont-4b5a84aaf1c9485e060c503a0ff8cadb.woff2","im.....

我想 Phoenix 使用它来将资产映射到相应的版本。如果我在这里完全错了,请纠正我。哦,好吧,关于我的问题。

在我的应用程序中,管理员可以在管理面板中上传图像,这些图像被上传到/priv/static/images/model/version/..。问题是这些新上传的图片,不在manifest.json文件中,所以不会显示?

这看起来很时髦,因为没有显示新图像,也没有替换图像等。我将如何处理这个问题?我应该将我的图像上传到另一个不应该被消化的地方吗?

【问题讨论】:

    标签: elixir phoenix-framework


    【解决方案1】:

    清单是一种缓存功能。 static_path 使用它来生成指向资产的链接。如果您不能将它用于所有资产,因为它们是动态上传的,您不需要使用它。换句话说,您应该能够上传您的资产并像往常一样使用static_path,并且它们应该像在开发中一样提供服务。

    【讨论】:

    • 我最终添加了另一个 Plug.Static,并使用 /uploads 文件,这似乎避免了上传文件的缓存。 :)
    • 奇怪的是你需要另一个插件。只是出于好奇:您是否尝试过上面的建议但没有奏效,或者我的建议来得太晚了? :)
    • 我从来没有使用static_path来上传图片,似乎摘要清单根本阻止了任何新上传的内容,这就是我添加新插件的原因。
    猜你喜欢
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多