Tower.js avvolge il sistema motore express.js modello, così si dovrebbe essere in grado di utilizzare qualsiasi motore express.js modello aggiungendo la seguente alla configurazione Tower.View.engine = "haml"
Tower.js utilizza mint, che ha HAML integrato, quindi è sufficiente il haml module nella directory.
Slim è problematico però. Innanzitutto non è direttamente all'interno di mint.js, quindi dovrai registrare un nuovo motore di template. Todo che avrete bisogno di
creare una funzione che customAdapter
mint.js può usare, si può guardare il codice sorgente mint.js. Ecco un esempio della funzione dell'adattatore Haml:
function(content, options, callback) {
var result;
result = require('hamljs').render(content, options || {});
if (callback) {
callback.call(this, null, result);
}
return result;
}
- è necessario aggiungere la scheda a mint.js facendo
require("mint").engines.slim = customAdapter
Ma non c'è nessun motore express.js Slim, e dal momento che Slim contiene snippet di codice rubino, non è probabile che ci sarà.
Se si vuole davvero farlo, è necessario creare il proprio parser javascript per i file modello (probabilmente usando qualcosa come http://opalrb.org/, sebbene senza specifiche ruby libraries), e quindi creare un motore express.js (che io non so come).
Dubito che sarà un esercizio molto fruttuoso.
Suggerisco di convertire i file Slim in haml (o jade, o qualsiasi motore di template che può essere usato da express.js) o di non effettuare la mossa.
Impossibile trovare alcun modo per convertire automaticamente Slim in haml o qualsiasi altro motore di template (probabilmente a causa del fatto che contiene codice ruby), quindi dovrai eseguire la conversione interamente manualmente.
fonte
2013-04-22 09:59:20
Da quello che ho sentito dai ragazzi Slim, dovrebbe essere relativamente facile da implementare con Slim, ma nessuno lo ha affrontato tramite i suoi meccanismi. Inoltre, avresti qualche idea per spostare questo verso Meteor vs Tower dato che in sostanza ci siamo arresi su Tower a causa degli aggiornamenti più lenti in arrivo negli ultimi tempi. – ylluminate
Scusa se non ho familiarità con Meteor. Tower.js è fondamentalmente solo una colla tra moduli molto comuni e usa internamente express.js per il rendering della vista. Meteor sembra un framework molto più coinvolto e unisce funzionalità server e client. Considerato ciò, immagino che sarà più difficile trasferire un'applicazione esistente su Meteor e poi su Tower.js. Anche il linguaggio dei template non è così facile da far cadere in Meteor, anche se ci sono alcune persone che hanno già creato pacchetti per questo (dalla mia ricerca molto veloce sull'argomento) –