Первоклассный двигатель Twig для node.js
Мы считаем, что первоклассный двигатель Twig должен быть в состоянии представить любой шаблон в тот же результат, что и официальный двигатель PHP. Это означает, что он должен реализовать 100% синтаксиса, определяемого языковыми спецификациями, и что он должен сделать этот синтаксис с использованием логики PHP.
Мы также считаем, что первоклассный двигатель Twig должен быть в состоянии легко догонять, когда эволюционируют спецификации веточки. Его кодовая архитектура и философия должны быть максимально близки, как это, как и внедрение PHP.
Наконец, мы считаем, что первоклассный двигатель Twig должен позволить пользователям опираться на свой опыт работы с TWIGPHP и получить поддержку от огромного сообщества, которое поступает с ним.
Вот что такое ткани. Двигатель первой инстанции, который проходит 100% от интеграционных тестов TWIGPHP, как можно ближе к своей структуре кода и обнаруживает API, способный как можно, как упростит.
Twing требует как минимум Node.js 8.0.0 для работы.
Рекомендуемый способ установить twing - через NPM:
npm install twing --save
const {twingenvironment, twingloaderarray} = require ('twing'); let loader = new twingloaderarray ({'index.twig': 'hello {{name}}!'}); let twing = new twingenvidment (загрузка); twing. render ('index.twig', {name: 'fabien'}). Тогда ((output) => {// сделать что -нибудь с выходом});
Тракание и экспресс работают довольно хорошо вместе. Посмотрите на документацию для примера использования с Express.
Начиная с версии 2.0.0, Twing можно использовать в веб -браузерах с очень небольшим компромиссом. Компоненты файловой системы, очевидно, недоступны (а именно загружатель файловой системы и кэш), но все остальное полностью поддерживается.
Бундлеры модуля автоматически получат специфический для браузера вкус Twing при импорте модуля Twing. Либо const {TwingEnvironment} = require('twing');
или import {TwingEnvironment} from 'twing';
будет работать как в node.js, так и в браузере - однажды в последнем случае.
Используйте JSDELIVR CDN, чтобы включить смену в ваш HTML -документ:
<script src="https://cdn.jsdelivr.net/npm/twing/dist/lib.min.js"></script>
После загрузки браузером, Twing доступна в глобальной переменной Twing
.
Twing нацелена на то, чтобы отлично реализовать спецификации веток, без компромисса. Это нелегкая задача из -за характера спецификаций велосипедов: они официально не существуют и могут быть выведены только из публичной документации, документации исходного кода и тестового набора контрольной реализации PHP. Иногда случается, что что-то, что не было частью ни в документациях, ни в тестовом наборе, внезапно становится частью технических характеристик, таких как тег filter
или проблемы с переработкой макросов, внедрение смены и все другие реализации, не связанные с потенциальным нарушительным изменением. Поскольку команда Twig не планирует выпустить некоторые официальные спецификации для языка, мы не можем ожидать, что проблема будет решена в ближайшее время.
Стратегия Twing здесь состоит в том, чтобы строго придерживаться правил семантических версий и никогда не вводить нарушающие изменения в небольшую версию - его обширный набор тестирования со 100% покрытием кода гарантирует это. Ошибки команды Twigs будут осуществляться либо из -за издания известной проблемы, если ошибка тривиальна, либо натолкнулась на новую крупную версию, если это не так.
Вот диаграмма совместимости между второстепенными версиями уровней спецификаций Twing и Twig, а также сводку заметных функций, предоставляемых каждым уровнем спецификаций веточки. Обратите внимание, что второстепенные версии Twig не всегда предоставляют новые функции, связанные с языком (из-за команды Twig, увековечивающей путаницу между Twig и их эталонной реализацией Twigphp).
Твисинговая версия | Уровень спецификации велосипедов | Примечательные функции |
---|---|---|
3.0 | 2.11 | Макросферы |
2.3 | 2.10 | spaceless , column , filter , map и reduce фильтры, apply тег, line whitespace trimming |
2.2 | 2.6 | deprecated тег |
1.3 | 2.5 | spaceless и block амортизации |
1.0 | 2.4 |
Настоятельно рекомендуется использовать последнюю версию Twing, доступную, поскольку исправления ошибок всегда будут нацелены на последнюю версию.
Вы можете найти список известных вопросов Twing, касающиеся реализации спецификаций веточек здесь. Обратите внимание, что известные проблемы гарантированно будут решены в следующей важной версии.
Прочитайте документацию для получения дополнительной информации.
Gulp-Twing: компилируйте шаблоны веток с глотком. Построить на смену.
Загрязнчик твирования: погрузчик Webpack, который компилирует шаблоны веточек с использованием Twing.
Вилка этого хранилища
Код
Реализовать тесты с использованием ленты
Выпустите запрос на тягу, учитывая, что все запросы на притяжение должны ссылаться на проблему в очереди.
Copyright © 2018 Эрик Моран. Выпущено по лицензии BSD на 2 пункта.