我正在使用django-compressor来编译scss文件。
每次修改scss文件时,django-compressor都会在/static/CACHE/css/123456.css
中构建一个css文件。
这对于pruduction模式是好的,但是当我在本地开发时,我会对每次更改进行修订。
因此,在开发模式下,如何强制输出到具有相同名称的文件?
这不是一个重新控制的问题......
COMPRESS_PRECOMPILERS = (
('text/x-sass', 'sass --compass "{infile}" "{outfile}"'),
('text/x-scss', 'sass --scss --compass "{infile}" "{outfile}"'),
)
答案 0 :(得分:0)
在获得静态资产的输出输出之前,您的SCSS文件仍需要经过matching precompiler。
在正确配置的开发环境中,您会认为静态输出目录未与您的应用程序源一起定位/分发,并且生成的CSS文件将隐藏在未受版本控制的路径上某处的源中。
编辑:
是的,所以我错过了正确的问题。唯一的解决方案是在开发中禁用压缩器,包括清除预编译器MIME映射,并在主模板中有条件地包括客户端编译器。
这样就可以在开发中引用原始的,未经过分析的LESS和CoffeeScript来源,但遗憾的是我找不到客户端SASS编译器。
答案 1 :(得分:0)
缓存文件的文件名实际上是基于它的内容。来自Django Compressor的文档:
根据需要生成合并文件
如有必要,会生成文件。所有预编译器都被调用 执行所有过滤器,并根据内容确定散列。 这反过来有助于确定文件名,只有在保存时才会保存 已经不存在了。然后返回HTML输出(并保存 在缓存中)。就是这样!
我认为没有办法让Django Compressor在不更改代码的情况下使用指定的名称。
答案 2 :(得分:0)
这可以实现,但它涉及一些定制。我有这个确切的设置工作。我在dev和生产(heroku)离线压缩中使用本地开发模式。
请参阅此问题的底部以获取代码。 https://github.com/django-compressor/django-compressor/issues/226