Mi piacciono molto gli emberjs e vorrei fare il passo successivo in un paio delle mie piccole app mobili e precompilare i miei modelli Ember/Handlebars come parte del mio processo di compilazione.Un modo semplice per precompilare i modelli di Handlebar Emberjs con nodejs?
Preferirei stare lontano da fare scherzi con Ruby e vorrei utilizzare node.js poiché mi sento più a mio agio nell'utilizzarlo.
Credo che quello che voglio usare sia Ember.Handlebars.precompile, ma sfortunatamente non riesco a caricare il file ember.js canonico in un ambiente nodo. Esempio di un tentativo ingenuo dal repl nodo:
> var e = require('./ember');
ReferenceError: window is not defined
at /Users/jeremyosborne/git/projects/ldls/client/lib/emberjs/src/ember.js:5:1
at Object.<anonymous> (/Users/jeremyosborne/git/projects/ldls/client/lib/emberjs/src/ember.js:1596:2)
--- stack trace, you get the idea ---
Credo di aver già capito come configurarli nel mio codice in modo che funzionino correttamente con le mie opinioni, voglio solo compilarli in un ambiente esterno a un browser DOM.
Al posto di caricare il nodo ember.js canonico, esiste un insieme specifico di file che posso prelevare dal repository di ember e utilizzare per compilare i miei modelli?
EDIT ho fatto una correzione Kluge che le grandi opere, ma ottiene una F per la manutenibilità. Ho afferrato tutto il codice Handlebars
meno il riferimento all'oggetto window
. Poi ho seguito con il codice Ember.Handlebars.Compiler
, sostituendo Ember.create
con Object.create
, esportando il mio oggetto Ember
e le cose viola funzionano in modo apparentemente grandioso nel nodo (come funziona e le funzioni prodotte sono modelli). Ma non considero questa una risposta alla mia stessa domanda a causa del suddetto maintainafail, quindi ancora aperta per le risposte.
MODIFICA 2 Quanto sopra risulta essere un totale fallimento. Forse c'è qualcosa di sbagliato nella procedura, ma l'utilizzo di Ember.Handlebars.precompile
o Ember.Handlebars.compile
non funziona. I template vengono creati, ma quando uso i modelli precompilati collegati a Ember.TEMPLATES nel mio codice, non funzionano. Mi sembra di essere in grado di far funzionare i modelli solo quando sono passati esplicitamente nei tag script modificati, come suggerito sul sito emberjs.com.
EDIT 3 ho capito quello che stavo facendo male. La mia risposta è qui sotto.
mi piace molto come brace-runner guarda al lavoro e probabilmente gravitano verso di esso. Tuttavia, per ora, ho il mio processo di compilazione truccato e sto cercando il semplice (a) prendere i modelli ember, (b) compilare i modelli di ember usando il nodojs. Sembra che dovrebbe essere davvero facile, ma preferirei non costruire a mano tutto, né voglio cambiare il mio processo di compilazione. Inoltre, mi piace jsdom, ma mi sento zoppo usarlo solo per caricare jquery, quindi caricare Ember, e quindi fingere di avere un dom, tutto ciò che posso fare puro trattamento JavaScript. Ugh. – jeremyosborne
Ember-Runner compila modelli ember. Non ho familiarità con la sua fonte, quindi non sono in grado di indicarti linee specifiche di codice. Sono d'accordo che non dovrebbe essere terribilmente difficile da attuare. –