2013-07-24 28 views
7

कहें कि मेरे पास एक वेब ऐप है - एक लेखांकन अनुप्रयोग की तरह एक बड़ा, जटिल, रेल ऐप। मैं सामान्य रेल राउंड ट्रिपिंग पृष्ठों की बजाय कई सिंगल पेज ऐप्स के लिए उपयोग देखता हूं।एम्बर जेएस और एकाधिक एकल पृष्ठ ऐप्स

  • एक चालान
  • एक समय की रिपोर्ट
  • आदि ..
  • भरना बनाना बैंक सामंजस्य
  • बनाना: उदाहरण के लिए, मैं बेहतर करने के लिए एक सहज ज्ञान युक्त एक पृष्ठ/गतिशील अनुप्रयोग के साथ सेवा की एक उपयोगकर्ता देख सकते हैं

ये सभी अलग एक पृष्ठ क्षुधा रहे हैं ... मैं देख रहा हूँ

सभी एंबर क्षुधा एक पृष्ठ और एकल पी रहे हैं urpose।

मैं एम्बर के साथ निर्मित कई एकल पेज ऐप्स चाहता हूं। यह कैसे सम्मान करेगा:

मार्ग: मेरे पास सर्वर मार्ग और ग्राहक मार्गों का संयोजन होगा। एम्बर में यह कैसा लगेगा? विभिन्न एम्बर अनुप्रयोगों की सेवा करें, प्रत्येक अपने स्वयं के आवेदन राउटर और मार्गों के साथ?

टेम्पलेट्स: क्या मेरे सभी "एप्लेट" संकलित हो जाएंगे और ग्राहक को लोड पर धकेल दिया जाएगा? या क्या मैं requ.js का लाभ उठाता हूं और प्रत्येक पृष्ठ ऐप को लोड करता हूं, भले ही वे नेविगेट किया गया हो? ...

क्या कोई भी उन दो प्रश्नों के साथ मदद कर सकता है? अग्रिम धन्यवाद!

+0

FYI करें - मैं अपने खुद के उप डोमेन पर विभिन्न ग्राहक "मॉड्यूल" की मेजबानी को बंद कर और फिर रैक इस्तेमाल किया विभिन्न उप-डोमेन की सेवा के लिए सर्वर पर कर्सर। मैंने कुछ सामान्य क्लाइंट कार्यक्षमता के लिए एक साझा रेपो भी बनाया है। यह बहुत छोटा है। –

+0

क्या आप इस बारे में अधिक जानकारी प्रदान कर सकते हैं कि आप कैसे करते हैं? आपने आम मेनू, प्राधिकरण और प्रमाणीकरण जैसे सामान्य एप्लिकेशन चिंताओं को कैसे हल किया। क्या आपने उन्हें एक ही पृष्ठ में विलय किया था या आपके सभी ऐप्स अलग थे? – ykaragol

उत्तर

2

मार्ग: मेरे पास सर्वर मार्ग और ग्राहक मार्गों का संयोजन होगा। एम्बर में यह कैसा लगेगा? विभिन्न एम्बर अनुप्रयोगों की सेवा करें, प्रत्येक अपने स्वयं के आवेदन राउटर और मार्गों के साथ?

इस बात पर निर्भर करता है कि सुविधाओं के संदर्भ में कितना ओवरलैप है। निश्चित रूप से आप अपने स्वयं के राउटर और मार्गों के साथ विभिन्न एम्बर अनुप्रयोगों की सेवा कर सकते हैं। उस स्थिति में आप शायद सामान्य आधार वर्गों और मिश्रणों के साथ एक साझा लाइब्रेरी भी लिखेंगे।

एक विकल्प एक एम्बर एप्लिकेशन होना होगा जो मार्ग के आधार पर बहुत अलग दिखता है और व्यवहार करता है। यही वह जगह है जहां तक ​​आप एम्बर के लिए अच्छा महसूस नहीं करेंगे और चीजों को अलग करने के लिए एक अनिवार्य कारण देखेंगे।

टेम्पलेट्स: क्या मेरे सभी "एप्लेट" संकलित हो जाएंगे और ग्राहक को लोड पर धकेल दिया जाएगा? या क्या मैं requ.js का लाभ उठाता हूं और प्रत्येक पृष्ठ ऐप को लोड करता हूं, भले ही वे नेविगेट किया गया हो? ...

रेल में कम से कम प्रतिरोध का पथ अपने टेम्पलेट को संकलित और पैकेज करने के लिए स्पॉकेट का उपयोग करना है - एक बार संकलित होने पर वे केवल जावास्क्रिप्ट हैं। आम तौर पर एक रेल ऐप application.js में सभी जावास्क्रिप्ट को बंडल करेगा और लोड पर शामिल करेगा। एक विकल्प एप्लिकेशन-विशिष्ट कोड और टेम्पलेट्स को app1.js, app2.js, आदि में विभाजित करना होगा और ऐप को नेविगेट करने पर प्रत्येक को लोड करना होगा।

+0

मैंने एम्बर के साथ पहले ही काम किया है - और आपके पहले जवाब के संबंध में - एक ऐप से शुरू - यह राउटर फ़ाइल में कैसा लगेगा? इसके नीचे वस्तुओं के घोंसले के साथ दो अलग "रूट" यूआरएल? –

+0

हाँ यह विचार है। –

1

मैं एक फली संरचना का उपयोग सुझाव है और फिर आप की तरह

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

मार्गों हो सकता है आप फली संरचना के साथ उत्पन्न यदि आप जैसे फ़ोल्डर ember generate route app1\route1

आप एक अच्छे फ़ोल्डर संरचना है कि आप बाद में अलग हो सकता है, कुछ की तरह साथ खत्म हो जाएगा:

/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

यहां पॉड संरचना का दस्तावेज़ है: https://ember-cli.com/user-guide/#pod- संरचना – hailong

संबंधित मुद्दे