gpt4 book ai didi

Flask-Assets 根本不工作... = 精神错乱

转载 作者:行者123 更新时间:2023-12-03 16:53:51 24 4
gpt4 key购买 nike

我只是尝试设置 flask-assets (基于网络 Assets ),但是无法使其正常工作。

我有标准设置;

  • python虚拟环境
  • pip 安装基本必需品( flask 、 flask Assets )
  • sass ruby​​ gem(用于尝试 sass/scss)
  • 通过 npm 减少(用于尝试 lesscss)
  • jsmin 通过 pip(用于尝试 jsmin)

  • 配置:
  • 我在 Flask
  • 中创建了一个工作主页
  • static已创建文件夹(用于 css/js Assets )
  • css/js 文件已确认工作(css 背景、js slider 等)
  • 基本上我的非 flask Assets 开发网站运行良好

  • 我在这里遵循了简单的官方指南: flask-assets usage .
    我完全理解如何使用它(根据该页面)。我什至完全复制粘贴了代码,但仍然无法正常工作。

    我尝试过的一些代码(对于lesscss):(当然我在main.less中有工作css)
    from flask.ext.assets import Environment, Bundle
    assets = Environment(app)
    assets.debug = True

    lesscss = Bundle('main.less', output='main.css', filters='less')
    assets.register('less', lesscss)

    然后在我的模板中:
    {% assets "less" %}
    <link href="{{ ASSET_URL }}" rel="stylesheet">
    {% endassets %}

    然而 flask Assets 是行不通的。我已经对 sass、scss 和 jsmin(使用指南中的确切代码复制粘贴)进行了同样的尝试 - 它仍然无法正常工作。
  • 我注意到 .webassets-cache文件夹已创建,但(始终)为空...

  • 还;相关错误?我希望它能够创建 main.css,但实际上并没有,所以我在浏览器中收到错误消息(使用 app.debug = True & flask 的内置开发服务器):
    webassets.exceptions.BuildError
    BuildError: Nothing to build for <Bundle output=css/main.css, filters=[<webassets.filter.less.Less object at 0x7f4958dc6710>], contents=('css/main.less',)>, is empty

    所以;如果我手动创建一个空的 main.css,它会加载页面(没有错误),但是 main.css 文件没有填充 css,所以 flask Assets /网络 Assets 仍然无法工作。

    我还尝试以各种方式将 Assets 对象传递给模板,以防万一需要它(尽管没有文档说明这一点)——这不起作用。

    这让我快疯了。任何指针将不胜感激。
    谢谢

    最佳答案

    Flask-Assets 文档中缺少信息。
    您的问题是 sass_bin 配置或环境加载路径。
    您应该尝试两者,在我的情况下是配置。请参阅下面我的工作配置。

    PS:恕我直言,Flask Assets 既不是很完整也没有很好的文档记录。它还消耗您的应用程序运行时,这在调试和生产方面都很糟糕。我已经切换到 GULP!

     env = Environment(app)
    env.config['sass_bin'] = '/usr/local/bin/sass'
    # env.load_path = [os.path.join(os.path.dirname(__file__), 'sass')]
    js = Bundle('js/jquery/jquery-2.1.4.js', 'js/angular/angular.js',
    'js/socketio/socket.io.js', filters='jsmin', output='js/all_min.js')
    env.register('js_all', js)
    myjs = Bundle('myjs/Interpolation.js', 'myjs/socketio.js' , filters='jsmin', output='myjs/all_min.js')
    env.register('myjs_all', myjs)
    css = Bundle('sass/base.sass', filters='sass', output='css/base.css')
    env.register('css_all', css)

    关于Flask-Assets 根本不工作... = 精神错乱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29882280/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com