我正在搜索Flask-Assets过滤器,该过滤器使我可以丑化javascript并支持ES6语法。我尝试使用uglifyjs-es二进制文件而不是uglifyjs,但是我不知道如何配置过滤器以使用uglifyjs-es二进制文件。

我有这个:

my_app_js = Bundle(
    'js/MyApp.js',
    filters='uglifyjs',
    output='my_app_js.js'
)

Webassets documentation:



也许有解决方案,但我不知道在哪里以及如何更改UGLIFYJS_BIN设置,任何想法吗?

也是,我读到here,不再维护uglifyjs-es项目。 terser似乎是替代方案,但它也可以用作过滤器吗?

编辑

如果您通过代码示例知道uglifyjs-es的一个很好的选择,那么您将获得赏金;)

最佳答案

如果您使用npm安装了uglifyjs,则该文件应位于项目的node_modules文件夹中。

您可以按以下方式配置flask:

app = Flask(__name__)
app.config['UGLIFYJS_BIN'] = 'path/to/node_modules/uglify-js/bin/uglifyjs'

关于uglifyjs-es,您知道它没有维护。但是,如果使用它来缩小代码,它仍然是一个不错的选择。

here所述:
  • uglify-js仅支持将ES5代码作为输入。
  • uglify-es也支持ES6,但存在错误,已被放弃。
  • 关于javascript - 如何用Flask丑化ES6 javascript?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59602633/

    10-12 19:26