DevGang
Авторизоваться

TwigJS фикс инлайновых макросов 

Речь пойдет о https://github.com/justjohn/twig.js, этот шаблонизатор почти полностью подходит под мои задачи, но просто взять и использовать его без express невозможно, т.к. в inline режиме не работают from и import.

Гугление ничего не дало, пришлось взяться за исходники и пройтись дебагером. В ходе раскопок выяснилось следующее: 

С настройкой allowInlineIncludes работают только блоки и инклуды Macro скомпилировать можно, но импортировать их нельзя, как не старайся. Под капотом импорт безапелляционно стучится через ajax, и ничего там нет про то, что можно бы и в кеше посмотреть. Видимо забыли или еще чего. 

Это довольно легко исправляется добавлением пары строчек в Twig.Template.prototype.importMacros:

Twig.Template.prototype.importMacros = function(file) {
        if(this.options.allowInlineIncludes){
            return this.importFile( file );
        }
        ....
}

Если у нас стоит настройка allowInlineIncludes импортить файл как обычный нашблон, можно еще заморочиться и добавить в условие отсутствие урла или пути, но этого у меня в задаче не было)

#JavaScript #twig
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

Оплатив хостинг 25$ в подарок вы получите 100$ на счет

Получить