首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >烧瓶-资产;当调试打开时,我如何使它重新生成scss?

烧瓶-资产;当调试打开时,我如何使它重新生成scss?
EN

Stack Overflow用户
提问于 2014-08-20 16:11:50
回答 2查看 1.2K关注 0票数 3

下面是我如何为scss设置flask-assets

代码语言:javascript
复制
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时,是否有方法使用重新加载程序自动重新生成这些文件?

(旁白:我使用的是开发版的烧瓶)

EN

回答 2

Stack Overflow用户

发布于 2016-07-20 13:18:30

这在理想情况下是可行的。但是,如果使用@imports在主文件中导入其他scss文件,则需要添加“依赖”选项。类似的东西;

代码语言:javascript
复制
mycss = Bundle(
    'app.scss',
    filters='pyscss,cssprefixer', depends=('/path/to/scss/files/**/*.scss'), output='generated/css/app.css')
assets.register('mycss)
票数 4
EN

Stack Overflow用户

发布于 2022-05-24 21:59:04

乔的回答应该被接受。我还以类似的方式实现了它:

代码语言:javascript
复制
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会导入其他文件。现在,对该目录中任何文件的任何更改都将强制刷新。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25409591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档