2016-03-12 8 views
8

के बिना उत्पादन में सिस्टमजेएस का उपयोग करना मैं एएमडी मॉड्यूल के साथ-साथ System.import() मॉड्यूल को आवश्यक आधार पर आयात करने के लिए SystemJS का उपयोग करना चाहता हूं। मैं, निश्चित रूप से, <script src="system.js"></script> शामिल कर सकता हूं, लेकिन मुझे एक त्रुटि मिल रही है कि Traceur परिभाषित नहीं किया गया है। मैं जानबूझ कर न्यूनतम अनुरोधों को रखने के लिए ट्रेसेर, या किसी अन्य निर्भरता को शामिल करना चाहता हूं। क्या SystemJS का कोई संस्करण है जो एएमडी और System.import को एक, सेमी-लाइटवेट स्क्रिप्ट में कॉल करने की अनुमति देता है?Traceur

+0

उत्तर कहां हैं? उस अजीब आयात कथन को छोड़कर क्रोम में अधिकांश es6 बनाया गया है। – user1311069

+0

क्या आप System.transpiler सेट कर रहे हैं? –

उत्तर

0

documentation से:

Transpiler

प्रकार: String डिफ़ॉल्ट: traceur

System.import के लिए एक मॉड्यूल का नाम है कि या तो Traceur, कोलाहल या टाइपप्रति को हल करना चाहिए प्रतिनिधित्व करता है।

आपको ऊपर दिए गए तीन में से एक को परिभाषित करने की आवश्यकता है, इस सुविधा को अक्षम करना संभव नहीं है।

+1

[ट्रांसफरर को झूठा] सेट करना संभव है (https://github.com/systemjs/systemjs/issues/1057), यह अभी भी 'System.import()' कॉल के माध्यम से मॉड्यूल के आयात की अनुमति नहीं देता है। – Himmel

+0

धन्यवाद। मैंने झूठ बोला है, और traceur अब और अनुरोध नहीं किया गया था। :) –

0

jspm में transpiler विकल्प और (यह मानते हुए कि यह सिर्फ के माध्यम से पारित है) systemjs, false लिए सेट किया जा सकता है, हालांकि वर्तमान में [1] SystemJS Traceur transpiler पर एक हार्डकोडेड निर्भरता है जब ES6 प्रारूप में मॉड्यूल का पता चला है।

कारण मैं इसका उल्लेख करता हूं, मुझे विश्वास है कि आपकी समस्या का उपयोग एएमडी मॉड्यूल से नहीं होता है, बल्कि यह कि आपके द्वारा उपयोग किए जाने वाले मॉड्यूल में कुछ निर्भरता (या वे मॉड्यूल जो वे उपयोग करते हैं) हैं, में हैं तथ्य, ईएस 6 प्रारूप में लिखा है। खुलासा त्रुटि संदेश के लिए अपने ब्राउज़र कंसोल की जांच करें।

[1]Link to SystemJS sourcecode which handles ES6 module format