3

我使用烧瓶资产进行捆绑、缩小和版本控制(确保当我们更改 CSS 或 JS 文件时,浏览器会加载新版本,而不是缓存中的内容......但我们当然希望它加载随后从缓存中)。

由于该站点只有几个页面并且它们都使用不同的资源,因此我在模板本身中定义了捆绑包,如文档中仅模板中所述:

{% assets filters="jsmin", output="gen/our-page_packed.js",
        "blah.js", "yadda.js", "rhubarb.js", "wibble.js" %}
    <script src="{{ ASSET_URL }}"></script>
{% endassets %}
{% assets filters="cssmin", output="gen/our-page_packed.css",
        "css/foo.css", "css/bar.css" %}
    <link rel="stylesheet" href="{{ ASSET_URL }}">
{% endassets %}

ASSETS_DEBUG在生产中为 False,并且该站点未本地化,也未通过 CDN 或 S3 提供服务。

问题是,当我们推动生产时,最初显然没有创建捆绑包。这些页面缺少 CSS 和 Javascript,并且 apache 错误日志包含如下错误:

文件不存在:/srv/our-client/our-client/static/gen/our-page_packed.css,引用者: https ://app.our-client.com/quux/123/xyz/

在我们多次重新加载页面后,在一两分钟内,一切都开始工作了。我们偶尔会听到客户抱怨听起来像是缺少 CSS 或 JS,但它似乎并没有持续存在,也不清楚这是一个相关问题。

恐怕我与 Flask 专家相差甚远(该网站是由另一位开发人员创建的;我添加了烧瓶资产),但它似乎是一个相当简单的设置。我可以做些什么来确保尽早创建捆绑文件吗?

4

0 回答 0