【问题标题】:Cant generate all.css file from sass files with flask-assets无法使用烧瓶资产从 sass 文件生成 all.css 文件
【发布时间】:2018-01-23 12:57:33
【问题描述】:

我厌倦了在我的烧瓶应用程序中使用 css,所以我决定使用烧瓶资产 https://github.com/miracle2k/flask-assets 转移到 scss。 我在我的 app.py 文件中添加了这个:

from flask_assets import Environment, Bundle

assets = Environment(app)
assets.debug = True
assets.url = app.static_url_path
scss = Bundle('sass/foo.scss', 'sass/bar.scss', filters='pyscss', output='gen/all.css')
assets.register('scss_all', scss)

如果我理解正确,这些行应该检查我的 static/sass 文件夹并生成一个带有单个 all.css 缩小文件的 gen 文件夹,对吗? 我还在我的静态资产文件夹中创建了一个 sass 文件夹,并在其中创建了 foo.scss 文件,其中包含一些代码来测试它。 但是,当我启动应用程序时,什么都没有生成,也没有错误。我在这里做错了什么?

【问题讨论】:

    标签: flask sass flask-assets


    【解决方案1】:

    这是我如何让它工作的。

    这是我的项目目录在生成任何内容之前的屏幕截图:

    接下来,我确保已安装以下内容:

    pip 安装烧瓶资产

    pip install pyscss(这是您在 filters='pyscss' 部分中的过滤器)

    这是我的代码设置方式:

    from flask import Flask, render_template
    from flask_assets import Environment, Bundle
    
    app = Flask(__name__)
    
    assets = Environment(app)
    assets.url = app.static_url_path
    assets.debug = True
    
    scss = Bundle('sass/foo.scss', 'sass/bar.scss', filters='pyscss', output='gen/all.css')
    assets.register('scss_all', scss)
    
    
    @app.route('/')
    def hello_world():
        return render_template('index.html')
    
    
    if __name__ == '__main__':
        app.run()
    

    还有index.html:

    {% assets "scss_all" %}
        <link rel="stylesheet" href="/static/gen/all.css">
    {% endassets %}
    <ul>
        <li>
            Test Flask Assets
        </li>
    </ul>
    

    现在,当我运行应用程序时,它需要一秒钟来生成 css,但它确实生成了。完成后,运行后的目录结构如下:

    您可以在 chrome 调试器中看到它确实加载了:

    需要注意的是,配置output='gen/all.css'中的文件夹必须是gen,否则将不起作用。

    编辑 同样根据@David 的评论,您必须创建所有必需的 scss 文件以生成输出。

    【讨论】:

    • 所以您确实手动创建了 gen 文件夹?
    • 我没有,它是自动生成的。这就是为什么我展示了之前和之后的屏幕截图
    • 谢谢我让它工作,问题是我在 app.py 中声明了 foo 和 bar 文件并且只在我的文件夹中创建了 foo 。如果您愿意,可以编辑您的答案
    • 没问题,我添加了您发现的编辑。
    • @TobiasKolb 这不是必需的,但有时将你的 CSS 分成多个隔间是明智的,这样更容易找到东西。特别是如果你有 IE 特定的 css
    猜你喜欢
    • 1970-01-01
    • 2019-01-03
    • 2013-07-14
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 2021-09-09
    • 2021-07-15
    • 1970-01-01
    相关资源
    最近更新 更多