Mesin ranting kelas satu untuk node.js
Kami percaya bahwa mesin ranting kelas satu harus dapat membuat template apa pun dengan hasil yang sama persis dengan mesin PHP resmi. Itu berarti bahwa ia harus menerapkan 100% dari sintaks yang ditentukan oleh spesifikasi bahasa dan bahwa ia harus membuat sintaks menggunakan logika PHP.
Kami juga percaya bahwa mesin ranting kelas satu harus dapat mengejar ketinggalan dengan mudah ketika spesifikasi ranting berkembang. Arsitektur dan filosofi kode kemudian harus sedekat mungkin dengan implementasi PHP.
Akhirnya, kami percaya bahwa mesin ranting kelas satu harus memungkinkan pengguna untuk membangun pengalaman mereka dengan TwigPHP dan mendapatkan dukungan dari komunitas besar yang menyertainya.
Itulah Twing itu. Mesin pemeliharaan-pertama yang melewati 100% dari tes integrasi TwigPHP, sedekat mungkin dengan struktur kodenya dan mengekspos API yang tidak dapat dipisahkan.
Twing membutuhkan setidaknya node.js 8.0.0 untuk dijalankan.
Cara yang disarankan untuk menginstal Twing adalah melalui NPM:
npm install twing --save
const {twingenvironment, twingloaderArray} = membutuhkan ('twing'); biarkan loader = twingloaderarray baru ({'index.twig': 'hello {{name}}!'}); let twing = new twingenvironment (loader); twing. render ('index.twig', {name: 'fabien'}). lalu ((output) => {// lakukan sesuatu dengan output});
Twing dan Express bekerja dengan baik bersama. Lihatlah dokumentasi untuk contoh penggunaan dengan Express.
Dimulai dengan versi 2.0.0, Twing dapat digunakan di browser web dengan sangat sedikit kompromi. Komponen sistem file jelas tidak tersedia (yaitu Filesystem Loader dan Cache) tetapi yang lainnya sepenuhnya didukung.
Bundler modul akan secara otomatis mengambil rasa spesifik browser dari Twing saat modul Twing diimpor. Baik const {TwingEnvironment} = require('twing');
atau import {TwingEnvironment} from 'twing';
akan bekerja di node.js dan browser - setelah dibundel dalam kasus terakhir.
Gunakan JSDELIVR CDN untuk memasukkan Twing dalam dokumen HTML Anda:
<script src="https://cdn.jsdelivr.net/npm/twing/dist/lib.min.js"></script>
Setelah dimuat oleh browser, Twing tersedia di bawah variabel Twing
global.
Twing bertujuan menerapkan spesifikasi ranting dengan sempurna, tanpa kompromi. Ini bukan tugas yang mudah karena sifat spesifikasi ranting: mereka tidak ada secara resmi dan hanya dapat disimpulkan dari dokumentasi publik, dokumentasi kode sumber dan rangkaian uji implementasi referensi PHP. Kadang-kadang terjadi bahwa sesuatu yang bukan bagian dari dokumentasi atau suite tes tiba-tiba menjadi bagian dari spesifikasi seperti tag filter
atau masalah pengerjaan ulang makro, menempatkan twing dan semua implementasi non-referensi lainnya dalam posisi tidak nyaman harus berurusan dengan potensi perubahan besar. Karena tim Twig tidak berencana merilis beberapa spesifikasi resmi untuk bahasa tersebut, kami tidak dapat mengharapkan masalah akan diselesaikan dalam waktu dekat.
Strategi Twing di sini adalah untuk tetap berpegang teguh pada aturan versi semantik dan tidak pernah memperkenalkan perubahan memecah ke versi kecil - rangkaian uji yang luas dengan cakupan kode 100% menjamin itu. Kesalahan ranting tim akan dikelola dengan mengeluarkan masalah yang diketahui, jika kesalahannya sepele, atau menabrak versi utama baru, jika tidak.
Berikut adalah bagan kompatibilitas antara versi minor tingkat spesifikasi twing dan ranting, bersama dengan ringkasan fitur penting yang disediakan oleh setiap level spesifikasi ranting. Perhatikan bahwa versi kecil Twig tidak selalu memberikan fitur yang berhubungan dengan bahasa baru (karena tim Twig melanggengkan kebingungan antara ranting dan implementasi referensi mereka, TwigPHP).
Versi twing | Tingkat Spesifikasi Ranting | Fitur penting |
---|---|---|
3.0 | 2.11 | Lingkup makro |
2.3 | 2.10 | spaceless , column , filter , map dan reduce filter, apply tag, line whitespace trimming whitespace control pengubah |
2.2 | 2.6 | Tag deprecated |
1.3 | 2.5 | DESPRECATIONS spaceless DAN block -BLOK |
1.0 | 2.4 |
Sangat disarankan untuk selalu menggunakan versi terbaru dari Twing yang tersedia karena perbaikan bug akan selalu menargetkan versi terbaru.
Anda dapat menemukan daftar isu -isu yang diketahui tentang Twing mengenai implementasi spesifikasi ranting di sini. Perhatikan bahwa masalah yang diketahui dijamin akan ditangani dalam versi utama twing versi berikutnya.
Baca dokumentasi untuk informasi lebih lanjut.
Gulp-Twing: Kompilasi templat ranting dengan tegukan. Bangun di atas Twing.
Twing-Loader: Webpack Loader yang menyusun templat ranting menggunakan Twing.
Garakan repositori ini
Kode
Menerapkan tes menggunakan tape
Mengeluarkan permintaan tarik yang diingat bahwa semua permintaan tarik harus merujuk masalah dalam antrian masalah
Hak Cipta © 2018 Eric Morand. Dirilis di bawah lisensi BSD 2-Clause.