Αποδώστε πρότυπα από κείμενο, αρχεία και URL με το TEMPLATE
Το TEMPLATE(source, model, [$]) αποδίδει ένα πρότυπο Tangular και επιστρέφει ένα promise με το κείμενο. Το source μπορεί να είναι:
- ένα κείμενο που περιέχει
{{ ... }}: είναι το ίδιο το πρότυπο - το όνομα ενός αρχείου του φακέλου
templates: τοTEMPLATE('invoice', model)διαβάζει τοtemplates/invoice.html(ένα~στην αρχή κάνει το όνομα απόλυτη διαδρομή) - μια διεύθυνση
http://ήhttps://, την οποία κατεβάζει ο πηγαίος κώδικας τουtotal5(δεν ελέγχθηκε σε αυτή τη σελίδα)
Το Ta είναι άλλο όνομα του Tangular. Σε αντίθεση με το Tangular.render(), το μοντέλο είναι διαθέσιμο ως value: γράψτε {{ value.name }}. Ένα αρχείο προτύπου μπορεί επίσης να φέρει δύο μπλοκ που το TEMPLATE διαβάζει και αφαιρεί από την έξοδο: ένα <script> που προσθέτει helpers στο Thelpers και ένα <script type="text/json"> με το προεπιλεγμένο μοντέλο, που χρησιμοποιείται όταν δεν περνιέται μοντέλο.
<script>
Thelpers.money = function(value) {
return (value || 0).toFixed(2) + ' EUR';
};
</script>
<script type="text/json">{ "customer": "Anonymous", "total": 0 }</script>
<h1>Invoice for {{ value.customer }}</h1>
<p>Total: {{ value.total | money() }}</p>exports.install = function() {
ROUTE('GET /text/', text);
ROUTE('GET /file/', file);
ROUTE('GET /default/', withdefault);
ROUTE('GET /absolute/', absolute);
ROUTE('GET /alias/', alias);
};
async function text($) {
$.plain(await TEMPLATE('Hello {{ value.name }}!', { name: $.query.name || 'world' }));
}
async function file($) {
$.plain(await TEMPLATE('invoice', { customer: 'Ana', total: 12.5 }));
}
function alias($) {
$.json({ same: Ta === Tangular, rendered: Ta.render('{{ name }}', { name: 'x' }) });
}
async function absolute($) {
const file = require('path').join(__dirname, '..', 'templates', 'invoice.html');
$.plain(await TEMPLATE('~' + file, { customer: 'Eva', total: 1 }));
}
async function withdefault($) {
$.plain(await TEMPLATE('invoice'));
}