下面是我如何为scss设置flask-assets:
def configure_extensions(app):
# Web Assets
from app.extensions import assets
scss = Bundle(
'scss/all.scss',
filters='scss',
output='scss_all.css'
)
assets.register('scss_all', scss)
assets.init_app(app)在我的配置中,设置了ASSETS_DEBUG = True
这可以工作,并生成文件app/static/scss_all.scss和文件夹app/static/.webassets.cache。这些样式按预期显示在网站上。
问题是,如果我想重新生成scss样式表,我必须删除上面提到的文件。在玩scss时,这是一件乏味的事情。
当app.debug设置为True时,是否有方法使用重新加载程序自动重新生成这些文件?
(旁白:我使用的是开发版的烧瓶)
发布于 2016-07-20 13:18:30
这在理想情况下是可行的。但是,如果使用@imports在主文件中导入其他scss文件,则需要添加“依赖”选项。类似的东西;
mycss = Bundle(
'app.scss',
filters='pyscss,cssprefixer', depends=('/path/to/scss/files/**/*.scss'), output='generated/css/app.css')
assets.register('mycss)发布于 2022-05-24 21:59:04
乔的回答应该被接受。我还以类似的方式实现了它:
scss = Bundle('css/main.scss',
filters='libsass',
depends='css/*',
output='gen/home%(version)s.css')
app = Flask(__name__)
assets = Environment(app)
assets.register('scss_all', scss)所有scss文件都在css目录中。main.scss会导入其他文件。现在,对该目录中任何文件的任何更改都将强制刷新。
https://stackoverflow.com/questions/25409591
复制相似问题