2013-07-24 32 views
7

Bir web uygulamasına sahip olduğumu varsayalım - bir muhasebe uygulaması gibi büyük, karmaşık, raylar uygulaması. Açma sayfaları etrafında tipik raylar yerine birkaç tane tek sayfalık uygulama için bir kullanım görüyorum.Ember JS ve Çoklu tek sayfa uygulamaları

  • Bir Zaman Raporu
  • vb ..
  • doldurmak bir Fatura
  • oluşturma Banka Uzlaşma
  • Oluşturma: Örneğin, ben daha iyi için sezgisel tek bir sayfa/dinamik app ile servis bir kullanıcıyı görebilirsiniz

Bunların hepsi ayrı bir sayfa uygulamalar vardır ... anlıyorum

Tüm kor uygulamaları tek sayfa ve tek p urpose.

Çok sayıda tek sayfa uygulamasına sahip olmak istiyorum;

Yönlendirmeler: Bu, sunucu yolları ve istemci yolları bir arada olması gerekir. Ember’de bu nasıl görünüyor? Her biri kendi uygulama yönlendiricisine ve rotalarına sahip farklı Ember uygulamalarını sunun mu?

Şablonlar: Tüm "applet'leri" derlenir ve yüklenen istemciye indirilir mi? Veya require.js'den faydalanır ve her bir sayfa uygulamasına, yönlendirildiklerine göre mi yüklerim? ...

Bu iki sorudan yardım isteyen var mı? Şimdiden teşekkürler!

+0

- Ben kendi alt farklı müşteri "modüllerini" barındırma sarılır ve daha sonra raf kullanılır Farklı alt etki alanlarına hizmet etmek için sunucudaki Ayrıca bazı yaygın istemci işlevleri için paylaşılan bir repo oluşturdum. Oldukça küçük. –

+0

, nasıl yaptığınız hakkında daha fazla bilgi verebilir misiniz? Ortak menü, yetkilendirme ve kimlik doğrulama gibi yaygın uygulama sorunlarını nasıl çözdünüz? Bunları tek bir sayfada birleştirdiniz mi yoksa tüm uygulamalarınız mı ayrıldı? – ykaragol

cevap

2

Rotalar: Sunucu yolları ve istemci yolları bir arada olmalıdır. Ember’de bu nasıl görünüyor? Her biri kendi uygulama yönlendiricisine ve rotalarına sahip farklı Ember uygulamalarını sunun mu?

Özelliklerle ilgili olarak ne kadar örtüştüğüne bağlıdır. Emin olun ki kendi yönlendiriciniz ve rotalarınızla farklı Ember uygulamalarını sunabilirsiniz. Bu durumda muhtemelen ortak temel sınıfları ve miksleri olan bir paylaşılan kütüphane de yazarsınız.

Bir alternatif, rotaya bağlı olarak çok farklı görünen ve davranan tek bir ember uygulamaya sahip olmak olabilir. İşte burası benim için iyi bir his olana dek başlayabilirdim ve şeyleri parçalara ayırmak için zorlayıcı bir sebep gördü.

Şablonlar: Tüm "küçük uygulamalar" derlenmiş ve yük müşteriye aşağı itti olsun istiyorsunuz? Veya require.js'den faydalanır ve her bir sayfa uygulamasına, yönlendirildiklerine göre mi yüklerim? ...

Raylarda en az direnç yolu, şablonlarınızı derlemek ve paketlemek için dişliler kullanmaktır - derlendikten sonra yalnızca javascript'tir. Genellikle bir raylar uygulaması, tüm javascript'i application.js'ye dahil eder ve bunu yükte içerir. Uygulamaya özel kodları ve şablonları app1.js, app2.js, vb. Içine bölmek ve uygulama gezinirken her birini yüklemek bir alternatif olacaktır.

+0

Zaten Ember ile biraz çalıştım - ve ilk cevabınıza göre - tek bir uygulamayla başlayarak - Yönlendirici dosyasında bu nasıl görünüyor? Altındaki öğelerin bir yuva ile iki farklı "kök" urls? –

+0

evet, işte bu fikir. –

1

Bir KAPSÜLLERE yapısı kullanılarak öneririm ve bölmelerin yapısı ile sağlıyorsa o zaman örneğin klasörleri

/app1/ 
    /route1 
    /route2 
/app2/ 
    /route1 
    /route2 
etc... 

gibi yolları olabilir ember generate route app1\route1

size daha sonra bölebilmeniz iyi klasör yapısı, gibi bir şey ile sona erecek: Bilginize

/app 
     /pods/ 
      /app1 
       /route1 
        route.js 
        controller.js 
        template.hbs 
       /route2 
        route.js 
        controller.js 
        template.hbs 
      /app2 
       /route1 
        route.js 
        controller.js 
        template.hbs 
       /route2 
        route.js 
        controller.js 
        template.hbs 
+0

Pod yapısının belgesi: https://ember-cli.com/user-guide/#pod-structure – hailong

İlgili konular