Webassets - исключить файл в комплекте
У меня есть каталог, и я хочу исключить несколько файлов, как это делает Ant, возможно ли это с веб-наборами?
Или, если bundle может принимать список или кортеж, что, похоже, не так?
1 ответ
Bundle
Подпись конструктора выглядит следующим образом (из источника на github):
def __init__(self, *contents, **options):
Это означает, что содержимое может быть указано как серия позиционных аргументов, как в примере в документации:
Bundle('common/inheritance.js', 'portal/js/common.js',
'portal/js/plot.js', 'portal/js/ticker.js',
filters='jsmin',
output='gen/packed.js')
Но это также означает, что вы можете использовать способность Python распаковывать списки аргументов. С этой страницы:
Обратная ситуация возникает, когда аргументы уже находятся в списке или кортеже, но должны быть распакованы для вызова функции, требующей отдельных позиционных аргументов. Например, встроенная функция range() ожидает отдельные аргументы start и stop. Если они недоступны отдельно, напишите вызов функции с оператором *, чтобы распаковать аргументы из списка или кортежа
Так что вы можете легко написать приведенный выше пример как:
files = ['common/inheritance.js', 'portal/js/common.js',
'portal/js/plot.js', 'portal/js/ticker.js']
Bundle(*files, filters='jsmin', output='gen/packed.js')
и, конечно, вы можете отфильтровать / нарезать / нарезать список на кубики, прежде чем связывать их.