node.js 용 일류 나뭇 가지 엔진
우리는 일류 나뭇 가지 엔진이 공식 PHP 엔진과 동일한 결과로 템플릿을 렌더링 할 수 있어야한다고 생각합니다. 즉, 언어 사양으로 정의 된 구문의 100%를 구현해야하며 PHP 로직을 사용하여 해당 구문을 렌더링해야합니다.
또한 Twig 사양이 발전 할 때 일류 나뭇 가지 엔진이 쉽게 따라 잡을 수 있어야한다고 생각합니다. 코드 아키텍처 및 철학은 PHP 구현만큼 가능한 한 가깝게되어야합니다.
마지막으로, 우리는 일류 나뭇 가지 엔진을 사용하면 사용자가 Twigphp에 대한 경험을 쌓고 함께 제공되는 거대한 커뮤니티의 지원을받을 수 있다고 생각합니다.
그것이 Twing이 무엇인지입니다. Twigphp 통합 테스트의 100%를 통과하는 유지 관리 가능성 우선 엔진은 가능한 한 코드 구조에 가깝고 가능성이있는 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}!'}); twing = new twingenvironment (loader); twing. render ( 'index.twig', {name : 'fabien'}). 그런 다음 ((output) => {// 출력});
Twing과 Express는 함께 일합니다. Express의 사용의 예에 대한 설명서를 살펴보십시오.
버전 2.0.0을 시작으로 Twing은 타협이 거의없는 웹 브라우저에서 사용할 수 있습니다. 파일 시스템 구성 요소 (즉 파일 시스템 로더 및 캐시)를 사용할 수 없지만 다른 모든 것은 완전히 지원됩니다.
Module Bundlers는 Twing 모듈이 가져올 때 Twing의 브라우저 별 맛을 자동으로 잡습니다. const {TwingEnvironment} = require('twing');
또는 import {TwingEnvironment} from 'twing';
Node.js와 브라우저에서 모두 작동합니다.
html 문서에 Twing을 포함하려면 JSDELIVR CDN을 사용하십시오.
<script src="https://cdn.jsdelivr.net/npm/twing/dist/lib.min.js"></script>
브라우저에 의해로드되면 Twing은 Global Twing
변수에서 사용할 수 있습니다.
Twing은 타협없이 나뭇 가지 사양을 완벽하게 구현하는 것을 목표로합니다. 이는 Twig 사양의 특성으로 인해 쉬운 일이 아닙니다. 공식적으로 존재하지 않으며 공개 문서, 소스 코드 문서 및 PHP 참조 구현의 테스트 스위트에서만 추론 할 수 있습니다. 문서 나 테스트 스위트의 일부가 아닌 것이 갑자기 filter
태그 또는 매크로스 재 작업 문제와 같은 사양의 일부가되어 Twing 및 기타 모든 비 참조 구현을 불편한 위치에 두어야합니다. 잠재적 인 파손 변화. Twig의 팀은 언어에 대한 공식 사양을 공개 할 계획이 없기 때문에 곧 문제가 해결 될 것으로 예상 할 수 없습니다.
여기서 Twing의 전략은 시맨틱 버전 작성 규칙에 엄격히 고수하고 미성년 버전으로의 파괴 변경을 결코 소개하지 않습니다. Twig Team의 실수는 실수가 사소한 경우 알려진 문제를 발행하거나 새로운 주요 버전으로 부딪치지 않으면 관리됩니다.
다음은 작은 버전의 Twing 및 Twig 사양 수준 간의 호환성 차트와 각 Twig 사양 수준에서 제공되는 주목할만한 기능의 요약입니다. Twig Minor 버전이 항상 새로운 언어 관련 기능을 제공하지는 않습니다 (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을 사용하는 것이 좋습니다.
Twig 사양 구현과 관련하여 알려진 Twing 문제 목록을 여기에서 찾을 수 있습니다. 알려진 문제는 Twing의 다음 주요 버전 범프에서 해결 될 수 있습니다.
자세한 내용은 문서를 읽으십시오.
gulp-twing : gulp로 나뭇 가지 템플릿을 컴파일합니다. Twing을 구축하십시오.
Twing-Loader : Twing을 사용하여 Twig 템플릿을 컴파일하는 Webpack Loader.
이 저장소를 포크하십시오
암호
테이프를 사용하여 테스트를 구현합니다
모든 풀 요청이 문제 대기열에서 문제를 참조해야한다는 점을 명심해야한다는 점을 명심하십시오.
Copyright © 2018 Eric Morand. 2- 클라스 BSD 라이센스에 따라 출시되었습니다.