Flask Assets ищет изменения только в одном файле

В моей маленькой колбе у меня есть приложение static/styles/

├── base
│   └── _variables.scss
├── components
│   └── _header.scss
├── site.min.css
├── site.scss
└── vendor
    ├── foundation

В моем базовом шаблоне я использую

{% assets filters='compass,scss,cssmin', output='styles/site.min.css', 'styles/site.scss'%}
        <link rel="stylesheet" type="text/css" href="{{ ASSET_URL }}">
{% endassets %}

импортировать таблицу стилей. Моя проблема в том, что когда я делаю изменение стиля в _header.scss или же _variables.scss моя таблица стилей не обновляется. Только когда обновляюсь site.scss,

Вот мой соответствующий код Python:

import sys
from flask import Flask, render_template
from flask.ext.assets import Environment, Bundle # FED Assets
# Need Sass `gem install sass`

app = Flask(__name__)
assets = Environment(app) # FED Assets
app.config.from_object(__name__)

@app.route("/")
def index():
    return render_template('index.html')

if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)

1 ответ

Решение

Просто добавьте depends узел вашей конфигурации Bundle:

{% assets filters='compass,scss,cssmin', depends='**/*.scss' output='styles/site.min.css', 'styles/site.scss'%}
        <link rel="stylesheet" type="text/css" href="{{ ASSET_URL }}">
{% endassets %}

Обратите внимание, что это отключит кэширование для пакета, но если вы строите свои ресурсы при развертывании и развертываете только скомпилированный код, у вас все будет хорошо.

Другие вопросы по тегам