Проблема с использованием Flask-Assets для компиляции меньшего количества файлов
В настоящее время я пытаюсь настроить веб-приложение Flask и пытаюсь использовать Flask-Assets
скомпилировать мои меньше файлов в минимизированный CSS.
Вот мой файл assets.py, который создает пакет.
from flask_assets import Bundle
common_css = Bundle(
'vendor/less/theme.less',
filters='less',
output='static/css/common.css',
)
Я получаю ошибку:
OSError: [Errno 2] No such file or directory
в webassets
Документация для фильтра меньше, он говорит, что:
This depends on the NodeJS implementation of less, installable via npm. To use the old Ruby-based version (implemented in the 1.x Ruby gem), see Less.
...
LESS_BIN (binary)
Path to the less executable used to compile source files. By default, the filter will attempt to run lessc via the system path.
Я установил less
с помощью $ npm install less
, но почему-то выглядит webassets
не могу использовать это.
Когда я пытаюсь использовать разные фильтры, то webassets
может успешно создать комплект.
Спасибо!
1 ответ
npm install
устанавливает пакеты в текущем каталоге по умолчанию (вы должны быть в состоянии найти node_modules
каталог там). У вас есть два варианта:
устанавливать
lessc
во всем мире:$ npm install -g less
Таким образом, веб-сайты смогут найти его самостоятельно.
Укажите полный путь к
lessc
исполняемым:assets = Environment(app) assets.config['less_bin'] = '/path/to/lessc'
Путь должен быть
<some_directory>/node_modules/.bin/lessc
,