我希望使用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或替代包来实现这一点的建议。
发布于 2019-06-06 23:33:21
如果您查看文档,则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',
]https://stackoverflow.com/questions/56480561
复制相似问题