我有一个使用 flask_assets 库的 Python 3.9 烧瓶应用程序。
我的烧瓶初始化.py 文件如下所示:
import logging
import os
from flask import Flask, request, current_app
from config import Config
from flask_assets import Environment
from app.utils.assets import bundles
def create_app(config_class=Config):
app = Flask(__name__)
app.config.from_object(config_class)
assets = Environment(app)
assets.debug = True
assets.versions = 'timestamp'
# assets.cache = False
from app.main import bp as main_bp
app.register_blueprint(main_bp)
assets.register(bundles)
if not app.debug and not app.testing:
app.logger.setLevel(logging.INFO)
app.logger.info('Application starting.')
return app
由于 flask_assets 是建立在 webassets 之上的,所以我导入了 Environment 和我创建的一个 css Bundle,它将我的 scss 代码编译为 css。
这是我的 Bundle 的样子:
from flask_assets import Bundle
bundles = {
'css': Bundle (
'scss/_main.scss',
'scss/_base.scss',
'scss/_typography.scss',
'scss/_page_home.scss',
'scss/_page_technote.scss',
filters='pyscss',
depends=('**/*.scss'),
output='css/style.%(version)s.scss.css'
)
}
我遇到的问题:
每次我对我的 scss 文件进行更改时,css 都会使用新版本成功重建以进行缓存破坏。但是,旧的 css 文件仍然存在。
每次重建发生时删除它们的最佳自动方法是什么?有什么理由保留旧文件吗?
另外 - 附带问题 - Bundle 对象是否可以自动考虑目录中特定类型的所有文件?而不是我单独列出每个文件?
这是我的文件的样子:
谢谢!