dustjs + webassets приводит к пустому скомпилированному файлу
Я запускаю python (2.7) с Flask с webassets (0.9), и я сделал все шаги, описанные в документации для запуска dustjs, но все приводит к пустому файлу. Самое странное, что когда я запускаю запыленные прямо в директории с моими шаблонами, все работает нормально.
Вот мои конфиги.
myapp.py
assets_env = Environment(app)
assets.py
common_dust = Bundle("dust/*", filters='dustjs', output='gen/dust_compiled.js')
Шаблоны /index.html
1 ответ
Я столкнулся с подобной проблемой на днях, хотя я использую не колбу, а пирамиду.
Вы пытались изменить первый параметр Bundle с "dust/*" на "dust"? Я считаю, что webassets передает этот аргумент непосредственно в dusty, и dusty ожидает путь к каталогу родительского шаблона в качестве входных данных, а не отдельные имена шаблонов.
Однако при передаче каталога последняя версия веб-наборов может выдавать ошибки, если включено кэширование, поскольку код управления кэшем не ожидает каталог для первого параметра; Я просто отключаю кеширование, чтобы обойти это. Если вы отключите кэширование, вы также должны предоставить другой механизм для хранения манифестов (если вы используете функции, которые требуют манифестов, см. Документы).
Кроме того, мне пришлось добавить параметр зависящий от пылив пакет (добавить дополнительные подкаталоги // * при необходимости), чтобы получить веб-наборы для регенерации шаблонов при внесении изменений.
Поэтому я предлагаю добавить эти параметры конфигурации:
assets_env.cache = False
assets_env.manifest = "file:gen/dusty.manifest"
И изменение экземпляра пакета на:
common_dust = Bundle("dust", filters='dustjs', depends="dust/*", output='gen/dust_compiled.js')
Надеемся, что будущая версия webassets будет играть лучше с интеграцией dustjs. Основная проблема, кажется, пыльная, требующая каталог.