Flask Assets仅在一个文件中查找更改

时间:2015-03-17 17:49:26

标签: python flask sass 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 个答案:

答案 0 :(得分:1)

只需在您的Bundle配置中添加depends node

{% 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 %}

请注意,这将禁用捆绑包的缓存,但如果您在部署时构建资产并仅部署已编译的代码,那么您应该没问题。