2011-08-04 14 views
5

मैं सीख रहा हूं कि Magento ई-कॉमर्स सिस्टम का उपयोग कैसे करें, मैं इसके प्रलेखन को पढ़ रहा हूं लेकिन मुझे कुछ शब्द, "पूर्व-संकलित जावास्क्रिप्ट लाइब्रेरी" नहीं समझा जाता है, इसका अर्थ क्या है ?, जावास्क्रिप्ट कैसे हो सकता है कोड संकलित किया जा सकता है?जावास्क्रिप्ट पूर्व-संकलित लाइब्रेरी क्या है?

बिना एसएसएच (अध्याय 2 में शामिल) के उपयोग के बिना Magento को अपग्रेड और इंस्टॉल करने के लिए वेब डाउनलोडर। • जेएस- मूल फ़ोल्डर जहां सभी Magento की स्थापना के साथ शामिल जावास्क्रिप्ट कोड रखा गया है। हम यहां जावास्क्रिप्ट के सभी पूर्व-संकलित पुस्तकालय पाएंगे।

स्रोत: http://www.magentocommerce.com/wiki/2_-_magento_concepts_and_architecture/magento_s_base_structure

+0

इस मामले में संकलित बस इसका मतलब हो सकता है - हाथ से पहले एक साथ रखो। – Oded

उत्तर

9

मैं क्या Magento ई-कॉमर्स का उपयोग करता है पता नहीं है, लेकिन मुझे पता है कि जावास्क्रिप्ट संकलनकर्ता हैं।

प्री-कंपाइल जावास्क्रिप्ट व्यावहारिक नहीं है क्योंकि विभिन्न जावास्क्रिप्ट दुभाषियों के पास संकलन का अपना तरीका होगा। इसलिए, जब अधिकांश लोग जावास्क्रिप्ट संकलन के बारे में बात करते हैं, तो वे आमतौर पर न्यूनतम जावास्क्रिप्ट का जिक्र कर रहे हैं।

हालांकि, नवीनतम मिनीफायर आगे बढ़ते हैं। एक अच्छा उदाहरण Google Closure CompilerAdvanced Mode है। यह Google Closure Library and Tools से संबंधित है, लेकिन स्वयं द्वारा उपयोग किए जाने पर भी अच्छी तरह डिज़ाइन किया गया है।

एक Online Demo of Closure Compiler है।

इसे एक कंपाइलर कहा जाता है क्योंकि यह एक मिनीफायर से अधिक है और नाम किसी अन्य चीज़ के लिए जावास्क्रिप्ट कंपाइलर का उपयोग नहीं किया जाता है। उदाहरण के लिए: यह कोड

function hello(name) { 
    alert('Hello, ' + name); 
} 
hello('New user'); 

उन्नत मोड में alert("Hello, New user"); को संकलित करता है। एकल उपयोग कार्यों को हटा दिया जाता है, चर नामों को छोटा कर दिया जाता है, और फिर भी उपयोग किया जाता है।

यह बहुत अच्छी तरह से है। सरल मोड मानता है कि इसमें अन्य जावास्क्रिप्ट शामिल हो सकते हैं। इस मामले में यह hello फ़ंक्शन को सुरक्षित रखेगा। उन्नत मोड मानता है कि केवल एक ही जावास्क्रिप्ट फ़ाइल है, या यह ठीक से निर्यात किया गया है।

एक चीज जो इसे वास्तव में संकलित करने से रोकती है वह यह है कि यह संकलित सी या जावा की तरह बाइटकोड नहीं है। इसे अभी भी पर्ल जैसे रन-टाइम पर संकलित किया जाना है।

+1

सहमत हैं, शायद "पूर्व-संकलित" वास्तव में कम से कम या obfuscated का मतलब है। Google क्लोजर कंपाइलर के अलावा, दर्जनों अन्य टूल जैसे: uglifyJs, Yui कंप्रेसर, पैकर और आदि –

+0

सही हैं, हालांकि संकलन की औपचारिक परिभाषा (स्रोत फ़ॉर्म को एक रूप से दूसरे रूप में परिवर्तित करना) लागू होता है। –

+0

** संकलित जावास्क्रिप्ट मौजूद नहीं है। ** यह कथन गलत है क्योंकि हम देखते हैं कि वी 8 वास्तव में जावास्क्रिप्ट को मशीन कोड पर संकलित करता है। http://en.wikipedia.org/wiki/V8_(JavaScript_engine) –

7

Magento एक विन्यास नामित

System -> Configuration -> Developer -> JavaScript Settings 

पर व्यवस्थापक में विकल्प जावास्क्रिप्ट फ़ाइलें विलय कर दिया गया।

जब यह सेटिंग चालू होती है, तो Magento उन सभी जावास्क्रिप्ट फ़ाइलों को ले जाएगा जो उन्हें छोटे आकार के आकार के लिए एक छोटा संस्करण में संकलित करते हैं, और फिर सभी जावास्क्रिप्ट फ़ाइलों को एक जावास्क्रिप्ट फ़ाइल में जोड़ते हैं। इस तरह, एकाधिक फ़ाइलों को डाउनलोड करने के लिए एकाधिक नेटवर्क कनेक्शन खोलने के बजाय, Magento एक फ़ाइल खोलने के लिए एक एकल नेटवर्क कनेक्शन खुल जाएगा।

तो, जब प्रलेखन का कहना है कि फ़ोल्डर पूर्व संकलित संस्करणों में शामिल है, इसका मतलब है कि जहां व्यक्तिगत जावास्क्रिप्ट फ़ाइलें जमा हो जाती है, और जहां फाइलों से जब विलय जावास्क्रिप्ट फ़ाइलें

अवधि संकलन लोड किए गए हैं Computer Science से आता है। एक कंपाइलर स्रोत कोड लेता है, और इसे एक भाषा से दूसरी भाषा में बदल देता है।

परंपरागत रूप से, इसका मतलब उच्च स्तर की भाषा (सी, .NET, जावा, आदि) से कोड लेना है, और इसे कंप्यूटर चिप द्वारा समझा जाने वाला मशीन कोड (असेंबली कोड) में बदलना है। हालांकि, यह शब्द सामान्य है और अधिक आधुनिक उपयोग में एक भाषा (जावास्क्रिप्ट) में लिखे गए स्रोत कोड को शामिल करना और इसे एक अलग रूप (मिनीस्क्रिप्ट जावास्क्रिप्ट) में बदलना शामिल है।

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

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