如何将libsass配置变量传递到flask_assets包中?

问题描述 投票:2回答:1

我的目标是通过LIBSASS_STYLE="expanded"设置flask_assets.Bundlewebassets libsass documentation说我能做到,但不说怎么做。

我的基本app控制器如下所示。

from flask import Flask, render_template
from flask_assets import Environment, Bundle

app = Flask(__name__)

# ... Typical flask controller stuff

if __name__ == "__main__": 
    assets = Environment(app)

    css = Bundle(
        'sass/*.scss',         # input scss files
        filters='libsass',     # to be compiled by libsass
        output='css/style.css' # and outputed to style.css
    )

    assets.register("asset_css", css)

    app.run(debug=True)

这会输出一个有效的css文件(这很棒),但不是我想要的格式,因为我根本不知道在哪里可以删除任何libsass选项。

非常欢迎任何关于这个问题的帮助。谢谢!

python flask libsass flask-assets webassets
1个回答
1
投票

您需要显式实例化libsass过滤器以将选项传递给它

from flask_assets import Bundle
from webassets.filter import get_filter

libsass = get_filter(
    'libsass',
    as_output=True,
    style='compressed',
)

css = Bundle(
    'sass/*.scss',
    filters=(libsass),
    output='css/style.css'
)
© www.soinside.com 2019 - 2024. All rights reserved.