我希望同时使用Django Compressor来缩小和丑化我的CSS和JavaScript。我已将其正常工作,以便进行离线压缩,并且所有必需的javascript均已正确压缩。
问题在于它不会使代码丑陋。我的设置:
STATICFILES_FINDERS = (
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
"compressor.finders.CompressorFinder",
)
COMPRESS_ENABLED = True
COMPRESS_OFFLINE = True
COMPRESS_YUGLIFY_BINARY = "yuglify"
COMPRESS_YUGLIFY_JS_ARGUMENTS = "--mangle"
yuglify
在我的路上。我尝试在要测试的文件上手动运行它,例如:yuglify file.js --mangle
。事实证明,yuglify
(是uglify-js的包装)不支持es6
及更高版本。
我发现了另一个名为terser的丑陋者,它在带有es6
代码的终端上运行良好。因此,我尝试用terser替换上述设置,即:
COMPRESS_YUGLIFY_BINARY = "terser"
COMPRESS_YUGLIFY_JS_ARGUMENTS = "--mangle"
这在django-compressor
中也不起作用。结果是文件变小但不丑。
对于将其与django-compressor
或其他软件包配合使用的任何建议,我们将不胜感激。
答案 0 :(得分:1)
如果您查看文档,则COMPRESS_JS_FILTERS的默认设置为
COMPRESS_JS_FILTERS = ['compressor.filters.jsmin.JSMinFilter']
因此,您需要向其添加“ compressor.filters.yuglify.YUglifyJSFilter”过滤器。
COMPRESS_JS_FILTERS = [
'compressor.filters.jsmin.JSMinFilter',
'compressor.filters.yuglify.YUglifyJSFilter',
]