2012-03-15 28 views
12

EmberJS çevrimiçi kılavuzları ile çalışıyorum ve bir isabet ya da özlem süreci oldu. Sproutcore2 ile komut satırı komutu ile proje dizin yapısını oluşturabilir ve onunla birlikte yapabilirim. Ember ile birlikte, oldukça el ile. Model (ler) i, görüntüleme (leri) ve kontrol (leri) kendi klasörlerine ayırabileceğim bir projenin yönetmen yapısını kurabilmek istiyorum. Bunu yapmaya çalışıyorum ancak ifadelerin MVC klasörlerinden doğru şekilde içe aktarılmasını gerektirmiyor. Ben "todos" uygulamasını indirdim, ama bu bir yardım değil, çünkü dizin yapısı beklediğim gibi gösterilmiyor.EmberJS proje dizin yapısını ayarlama?

Basit bir "HelloWorld" uygulaması ile başlamak istiyorum "app" benim cephem olacak, ve daha sonra modelleri, görünümleri ve denetimleri, içindeki mvc klasörünün altına yerleştirilecek klasörlerinden alabilirim. " HelloWorldApp "klasörü. Tüm yardımlarınızı takdir edin.

HelloWorldApp (proje listesi)
    -> js (dizin)
    -> lib (dizin)
                      -> kor-0.9. 5
   > Kor-0.9.5.min
                      - -> jquery-1.6.1.min

    -> şablon (10                 dizin)
                    ->-görüntüleme şablon ana

    -> MVC (dizin)
            - (dizin)
           > modeli -> görünüşüdür (dizin)
            -> kontrolü (dizin)

    - (dizin)

uygulaması (app.js)
index.htm

cevap

-3

Farklı yaklaşımları denedikten sonra, tüm model (ler) i, görünümleri ve denetleyicileri, dizin dosyasında, javascript aracılığıyla ember-0.9.5'in çağrılmasının hemen ardından bildirdim. Bunu yaptıktan sonra "app" modelimi "Kişiye" başlatabiliyordum.

Thx.

+2

Oh hayır, bu büyük bir uygulama için korkunç olacak. Bunları "app/lib" dizini altındaki klasörlerde bildirebilirsiniz. Her şeyin doğru sırada oluşturulduğundan emin olmak için 'require() işlevini kullanmayı unutmayın. –

+0

Roy, bunu yaptı ve sonra başka yollar denedi. "App/lib" altındaki klasörlerde bildirerek işe yaramıyor. Sorumu aşarsanız, "ihtiyaç" ifadesinin "paketleri/ad alanlarını" içe aktarmadığını belirtmiştim. Ve sana katılıyorum ... indeks dosyasına dahil ederek korkunç bir yol. – Combustion007

+0

Yanma, şimdi bunu yapmak için daha iyi bir yol buldunuz merak ediyorum. Eğer varsa, bu konuda daha fazla bilgi verir misiniz? Ben sadece (ve genel olarak web uygulamaları) ember ile başladım, ve aynı anda yutmak için çok fazla - herhangi bir bilgi takdir edilmektedir. – iX3

8

Ember erken alfa bir göz atın> css inşa araçları şablon yapısı (Ember-Skeleton): https://github.com/emberjs/ember-gem/tree/master/lib/ember/templates/app. Bu yapıya çok yakın olan bir şeyin ileriye doğru ilerlemesi olacağını düşünürdüm.

+0

Roy, bağlantı için teşekkürler, gün boyunca bu kaynaktan geçen iyi bir yığın geçirdim, şimdi bu kodda cephenin nereye gömüldüğünü anlamaya çalışıyorum. EmberJS çevrimiçi dökümantasyonunda bir çeşit gösterinin olması güzel olurdu. – Combustion007

+1

Uygulama global bir özellik oluşturulduğunda, 'App.stateManager' de oluşturulur. Bir ViewState olan bir başlangıç ​​durumuna, 'App.StartState' sahiptir. ViewStates normal durumlar gibidir, ancak ViewState'e girip çıktığınızda, otomatik olarak "view" özelliğinde tanımlanan herhangi bir "Ember.View" öğesini ekleyeceği ek özellik vardır. Yukarıdaki şablonda, görünüm özelliği, "main_page" şablonla tanımlanan bir görünüme sahiptir. Bu şablon gösterilen ilk şablonu içerir. Başlangıçta herhangi bir kod çalıştırmanız gerekiyorsa, main.js içinde 'MyApp.ready = function() {//..init kodu buraya girin ...}' ' –

+0

Roy, açıklama için çok teşekkürler. Son yorumdan önce, "devletler" hakkında bir şey bilmiyordum bile. Bununla birlikte, "durumların" nasıl çalıştığını biliyorum, "Adobe Flex" ile uzun bir geçmişim var. Bunu sana sormam gerek, neden "eyaletler" veya EmberJs çevrimiçi belgelerinde herhangi bir demo kodu yok? Açık kaynaklı bir çaba olup olmadığının doğru bir çevrimiçi dokümantasyona sahip olmayan bir çerçeveyi tanıtmanın zayıf bir yol olduğunu düşünüyorum. Şimdi son yorumunuzda paylaştığınız şeyle ilgili olarak, bir fikir edinebilmek için bir kodun "jsfiddle" yapması mümkün olabilir. – Combustion007

İlgili konular