Как увеличить ES6 javascript с Flask? - PullRequest
3 голосов
/ 05 января 2020

Я ищу фильтр Flask-Assets, который позволяет увеличить javascript и поддерживать синтаксис ES6. Я пытался использовать двоичный файл uglifyjs-es вместо uglifyjs, но не могу понять, как настроить фильтр для использования двоичного файла uglifyjs-es.

У меня есть это:

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

Из документации Webassets :

Uglify JS - внешний инструмент, написанный для NodeJS; этот фильтр предполагает, что исполняемый файл uglify js находится в пути. В противном случае вы можете определить UGLIFYJS_BIN параметр

Возможно, решение есть, но я не могу понять, где и как изменить этот параметр UGLIFYJS_BIN, есть идеи?

Также , я прочитал здесь , что uglifyjs-es проект больше не поддерживается. Терсер, кажется, является альтернативой, но может ли он также использоваться в качестве фильтра?

Редактировать

Если вы знаете хорошую альтернативу uglifyjs-es с примером кода, вы выигрываете награду;)

Ответы [ 2 ]

2 голосов
/ 06 января 2020

Если вы установили uglify js с использованием npm, он должен находиться в папке node_modules в вашем проекте.

Вы можете настроить flask следующим образом:

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

Что касается uglify js -es, вы знаете, что он не поддерживается. Но если ваш код минимизируется с помощью этого, это все еще хороший вариант.

Как уже упоминалось здесь :

  • uglify- js поддерживает только код ES5 в качестве ввода.
  • uglify-es также поддерживает ES6, но глючит и был заброшен.
0 голосов
/ 06 января 2020

Похоже, вам нужно установить переменную окружения с именем UGLIFYJS_BIN. См. здесь для Linux инструкций или здесь для Windows инструкций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...