我只是尝试设置flask-assets(基于webassets),但是无法让它工作。
我有标准设置;
- 蟒蛇虚拟环境
- pip 安装基本必需品(烧瓶,烧瓶资产)
- sass ruby gem(用于尝试 sass / scss)
- 通过 npm 减少(用于尝试 lesscss)
- 通过 pip 的 jsmin(用于尝试 jsmin)
配置:
- 我在 Flask 中创建了一个工作主页
static
创建的文件夹(用于 css / js 资产)- css / js 文件已确认工作(css 背景、js 滑块等)
- 基本上我的开发非烧瓶资产网站运行良好
我在这里遵循了简单的官方指南: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 %}
然而烧瓶资产是行不通的。我已经对 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,所以烧瓶资产/网络资产仍然无法工作。
我还尝试以各种方式将资产对象传递给模板,以防万一需要它(尽管没有文档说明这一点)——这不起作用。
这让我快疯了。任何指针将不胜感激。
谢谢