2014-07-19 6 views
5

सहित मैं एक बड़ी, बहु डेवलपर परियोजना के लिए एक ऐप ढांचा तैयार कर रहा हूं। मैं निर्भरता और वर्ग लोडिंग का प्रबंधन करने के लिए एक साथ Requ.js और कोणीय का उपयोग करने के विचार पर बेचा जाता हूं। लेकिन अब मैं पॉलिमर का भी उपयोग करना चाहता हूं, क्योंकि यह बेहद अच्छा है।एक एप के लिए सभी संसाधनों को लोड करने के लिए Requ.js, पॉलिमर

पॉलिमर तत्व पुस्तकालयों को लोड करने के लिए requ.js का उपयोग कैसे कर सकता हूं, बस मेरे जेएस के समान ही? मुझे अपने सभी ऐप्स संसाधनों को लोड करने का एक सही तरीका के रूप में आवश्यकता के लिए लटकने का विचार पसंद है। मैं देखता हूं कि टेम्पलेट, स्क्रिप्ट और स्टाइल को एक लॉजिकल। एचटीएमएल फाइल में बंडल करने में सक्षम होना कितना अच्छा है जो एक घटक का प्रतिनिधित्व करता है, और मुझे पता है कि हम उन हिस्सों को अलग फाइलों में तोड़ सकते हैं, लेकिन जैसे ही मैं कोई लिंक रिले देखता हूं = अंदर "आयात" सामान मुझे लगता है कि requ.js के दायरे में जा रहा है।

विचार?

उत्तर

3

दोनों के बीच कुछ तनाव है क्योंकि दोनों निर्भरताओं को ट्रैक करने के लिए रिकॉर्ड की प्रणाली बनना चाहते हैं। उदाहरण के लिए, यदि आप /components/core-ajax/core-ajax.html का http आयात करते हैं तो इसमें ../polymer/polymer.html का http आयात होता है, यह सुनिश्चित करना कि कोर-एजेक्स के लिए किसी भी स्क्रिप्ट को चलाने से पहले पॉलिमर लोड हो। पॉलिमर में एक उपकरण में वेब घटकों के एक सेट को संकलित करने के लिए vulcanize नामक एक उपकरण भी है जो उत्पादन में HTTP अनुरोधों की संख्या को कम करने के लिए एक फ़ाइल में संकलित करता है।

ध्वनि परिचित? require.js के इन सभी टुकड़ों के लिए एक समान तंत्र है। यह ध्यान देने योग्य भी है कि मुझे इस बात से अवगत नहीं है कि इन सभी को एकजुट करने के लिए क्या किया जा रहा है, और चीजों को और जटिल बनाने के लिए ईएस 6 मॉड्यूल प्रस्ताव है जो भाप इकट्ठा कर रहा है।

इस पल के लिए मेरी सिफारिश है यदि संभव हो तो बिल्कुल एक निर्भरता ट्रैकर चुनना है। मैं सुझाव दूंगा कि आप एचटीएमएल आयात का उपयोग करते हैं यदि आप वेब घटकों का उपयोग कर रहे हैं क्योंकि एक आवश्यकता वाले मॉड्यूल को एक सरल वेब घटक में बदलने के लिए अपेक्षाकृत आसान है, इसके विपरीत यह विपरीत है।

उदा। मान लें कि आपके पास एक स्क्रिप्ट jquery.datatables.js है जो jquery पर निर्भर करता है। की तरह अपनी फ़ाइलें लेआउट:

  • घटकों
    • jquery.datatables
      • jquery.datatables.js
      • jquery.datatables.html
    • jQuery
      • jquery.js
      • jquery.html

jquery.html होते हैं:

<script src='jquery.js'></script> 

और jquery.datatables.html में डाल चाहते हैं:

<link rel='import' href='../jquery/jquery.html'> 
<script src='jquery.datatables.js'></script> 

HTML आयातों डी-डुप्लिकेशन करने का ख्याल रखता है, इसलिए आप भरोसा कर सकते हैं कि jquery.html केवल एक बार लोड किया जाएगा।

+0

मुझे आश्चर्य है कि कैसे एएमडी के साथ इंटरऑप के साथ ES6 मॉड्यूल? मैं एएमडी/आवश्यकता के बिना एक बड़ी परियोजना का आयोजन करने की कल्पना नहीं कर सकता। – httpete

+0

यह एक संपूर्ण 'नोटर सवाल है, लेकिन स्क्वायर का ईएस 6 मॉड्यूल ट्रांस्लर आज एएमडी स्टाइल मॉड्यूल को संकलित करने का समर्थन करता है, और चूंकि es6 मॉड्यूल लोडिंग व्यवहार प्लग करने योग्य है, तो यह इंटरऑपरेट करना संभव हो सकता है। –

+1

मुझे यह [चर्चा] (https://gist.github.com/omo/9986103) पाया गया है जो आवश्यक एएमडी शैली डीआई और एचटीएमएल आयात के बीच ट्रेडऑफ को समझने में बेहद सहायक है (टीएल; एचटीएमएल आयात के लिए जाना, वे हैं एक superset के लिए जा रहा है क्या requjs करने में सक्षम है) – Renaud

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