首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django压缩器不会使javascript丑化

Django压缩器不会使javascript丑化
EN

Stack Overflow用户
提问于 2019-06-06 23:16:59
回答 1查看 972关注 0票数 3

我希望使用Django Compressor来缩小和丑化我的css和javascript。我已经让它工作了,所以我做了一个离线压缩,所有需要的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替换上面的设置,即:

代码语言:javascript
复制
COMPRESS_YUGLIFY_BINARY = "terser"
COMPRESS_YUGLIFY_JS_ARGUMENTS = "--mangle"

这在django-compressor中也不起作用。其结果是文件被缩小,但不会丑化。

我非常感谢任何关于如何使用django-compressor或替代包来实现这一点的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-06 23:33:21

如果您查看文档,则COMPRESS_JS_FILTERS的默认设置为

代码语言:javascript
复制
COMPRESS_JS_FILTERS = ['compressor.filters.jsmin.JSMinFilter']

因此,您需要向其添加“compressor.filters.yuglify.YUglifyJSFilter”过滤器。

代码语言:javascript
复制
COMPRESS_JS_FILTERS = [
  'compressor.filters.jsmin.JSMinFilter',
  'compressor.filters.yuglify.YUglifyJSFilter',
]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56480561

复制
相关文章

相似问题

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