【发布时间】:2013-08-13 14:41:19
【问题描述】:
我在使用Flask-Assets 的Flask 应用程序中使用webassets,但在创建bundles 时遇到depends 选项问题。
在我的例子中,我从以下目录结构中捆绑 LESS 文件:
/static
\_ /css
\_ /bootstrap
| \_ bootstrap.less // This file @imports variables.less and custom.less
| \_ variables.less
\_ custom.less
我的捆绑包如下所示:
css = Bundle(
"css/bootstrap/bootstrap.less",
filters="less, cssmin",
output="dist/base.css",
depends="**/*.less"
)
使用这些设置,只要更改了 bootstrap.less 或 custom.less 而不是 variables.less,就会重建 LESS 文件。
据我了解,depends 选项使用的表达式是 glob 指令,使用上面的指令应该简单地递归遍历所有目录并获取任何 LESS 文件。但是,它似乎从未注意到对 variables.less 所做的任何更改。
在尝试解决此问题时,我为depends 尝试了以下选项:
-
"*.less"- 什么都没有(因为它在项目目录的根目录中搜索,我相信那里没有 LESS 文件) -
"**/*.less, myproject/static/css/bootstrap/variables.less"- 根本不接受任何文件中的任何更改。 -
"**/*.less, myproject/static/css/bootstrap/variables.less"- 同上。 -
"myproject/static/css/bootstrap/variables.less"- 奇怪的是,这会影响到对variables.less和任何其他 LESS 文件(例如custom.less)所做的更改。
本质上,最后一项是我的问题的“解决方案”,但我不知道为什么它会这样工作,所以它不适合我。任何人都可以在这里提供解释或推动正确的方向吗?
谢谢!
【问题讨论】: