Bardzo cieszę się z emberjs i chciałbym zrobić kolejny krok w kilku małych, mobilnych aplikacjach i wstępnie skompilować szablony Ember/Handlebars w ramach mojego procesu kompilacji.Łatwy sposób na prekompilowanie szablonów kierownicy Emberjs z nodejs?
Wolałabym trzymać się z daleka od problemów z Ruby i chciałbym użyć pliku node.js, ponieważ wygodniej jest z niego korzystać.
Wierzę, że chcę użyć pliku Ember.Handlebars.precompile, ale niestety nie mogę załadować kanonicznego pliku ember.js w środowisku węzła. Przykład naiwnej próbie z repl węzła:
> 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 ---
Chyba już zorientowali się, jak je ustawić w moim kodu tak, że działają poprawnie z moich poglądów, po prostu chcę, aby skompilować je w środowisko poza DOM przeglądarki.
Zamiast pobierania kanonicznego pliku ember.js do węzła, czy istnieje określony zestaw plików, które mogę usunąć z repozytorium ember i użyć do kompilacji moich szablonów?
EDYCJA Zrobiłem naprawić kluczyk, który działa świetnie, ale dostaje F dla łatwości konserwacji. Złapałem cały kod Handlebars
minus odwołanie do obiektu window
. Potem poszedłem z kodem Ember.Handlebars.Compiler
, zastępując Ember.create
z Object.create
, eksportując mój obiekt Ember
, a rzeczy altówki działają pozornie świetnie w węźle (jak w to działa, a funkcje są tworzone jako szablony). Ale nie uważam tego za odpowiedź na moje własne pytanie ze względu na wyżej wspomniany maintainafail, więc wciąż otwarty na odpowiedzi.
EDYTOWANIE 2 Powyższe informacje okazują się całkowitą porażką. Być może w procedurze jest coś nie tak, ale używanie Ember.Handlebars.precompile
lub Ember.Handlebars.compile
nie działa. Szablony są tworzone, ale kiedy używam prekompilowanych szablonów dołączonych do Ember.TEMPLATES w moim kodzie, nie działają. Wydaje mi się, że uda mi się przekonwertować szablony tylko wtedy, gdy zostaną jawnie przekazane w zmodyfikowanych znacznikach skryptu, zgodnie z sugestią na stronie emberjs.com.
EDYTOWANIE 3 Wyjaśniałem, co robiłem źle. Moja odpowiedź jest poniżej.
Bardzo podoba mi się jak wygląda Ember-biegacz do pracy i prawdopodobnie będzie ciążyć ku niemu. Jednak na razie mam swój własny, sfałszowany proces kompilacji i szukam prostych (a) szablonów embera, (b) kompiluję szablony emberów używając nodejs. Wygląda na to, że powinno być naprawdę łatwe, ale wolałbym nie budować ręcznie wszystkiego, ani nie chcę zmieniać procesu kompilacji. Poza tym lubię jsdom, ale czuję się ułomny, używając go tylko po to, abym mógł załadować jquery, a następnie załadować Ember, a następnie udawać, że mam dom, wszystko po to, abym mógł wykonywać czysto JavaScript. Ugh. – jeremyosborne
Ember-Runner kompiluje szablony ember. Nie znam jego źródła, więc nie mogę wskazać konkretnych linii kodu. Zgadzam się, nie powinno to być strasznie trudne do wdrożenia. –