के लिए मैं Modernizr सुविधा लोड करने के लिए कोशिश कर रहा हूँ requireJS साथ गतिशील रूप से पता लगाता है।
जैसा कि मॉडर्निज़र ने AMD में बनाया है, यह समस्या नहीं होनी चाहिए।requireJS विन्यास Modernizr
मेरे requireJS विन्यास Modernizr स्रोत निर्देशिका के लिए पथ शामिल है और सुविधा के लिए निर्देशिका का पता लगाता है:
requirejs.config({
paths: {
"modernizr" : "components/modernizr/src",
"feature-detects": "components/modernizr/feature-detects"
}
});
अपने विचार svg परीक्षण की आवश्यकता होगी में से एक मान देता है।
मेरा विचार परिभाषा लग सकता है की तरह this
define(["feature-detects/svg"], function() { .. });
दुर्भाग्य svg.js
नहीं Modernizr.js
क्योंकि सभी सुविधा का पता लगाता है और Modernizr स्रोत फ़ाइलें किसी भी निर्देशिका निर्दिष्ट किए बिना Modernizr लोड पा सकते हैं: define(['Modernizr'], ..
।
कौन सा में परिणाम एक बहुत बदसूरत require.config
requirejs.config({
paths: {
"Modernizr": "components/modernizr/src/Modernizr",
"addTest": "components/modernizr/src/addTest",
"ModernizrProto": "components/modernizr/src/ModernizrProto",
"setClasses": "components/modernizr/src/setClasses",
"hasOwnProp": "components/modernizr/src/hasOwnProp",
"tests": "components/modernizr/src/tests",
"is": "components/modernizr/src/is",
"docElement": "components/modernizr/src/docElement",
"feature-detects": "components/modernizr/feature-detects"
}
});
वहाँ एक क्लीनर तरीका जब भी यह फ़ाइल नहीं मिल सकी components/modernizr/src/
में खोज करने के लिए requireJS बताने के लिए है?
अद्यतन
मैं एक example github project जो बुनियादी सेटअप और एक चल demonstration शामिल बनाया।
जिज्ञासु उपयोग कर सकते हैं? आपको फ़ाइल को सिंक्रनाइज़ लोड करने की आवश्यकता है ताकि परीक्षण शेष पृष्ठ प्रस्तुत करने से पहले चलाया जा सके। अगर मुझे सही याद है, तो एएमडी मुख्य रूप से निर्माण प्रक्रिया की सहायता के लिए चुना गया था - https://github.com/Modernizr/Modernizr/issues/713 –
@ सिमोनस्मिथ मैं अपने ऐप को एक में बनाने के लिए जरूरी जेएस 'r.js' स्क्रिप्ट का उपयोग कर रहा हूं फ़ाइल। यह शानदार होगा अगर मैं जरूरतों का उपयोग कर आधुनिकता निर्भरताओं को परिभाषित कर सकता हूं। – jantimon
मुझे लगता है कि आप संपत्तियों के प्रबंधन के लिए बोवर की तरह कुछ उपयोग कर रहे हैं, इसलिए आपका 'घटक' फ़ोल्डर प्रोजेक्ट फ़ोल्डर जैसा नहीं है (दूसरे शब्दों में, आप मॉडर्निज़र को इंगित करने के लिए RequJS में' baseUrl' का उपयोग नहीं कर सकते हैं)। दुर्भाग्यवश, ऐसा लगता है कि उन निर्भरताओं को जोड़ने का कोई आसान तरीका नहीं है और जिस तरह से आपने इसे हल किया है, वह एकमात्र विकल्प है। वैकल्पिक मॉड्यूलर पर 'r.js' चल रहा होगा और फिर आपके ऐप में पैक की गई फ़ाइल भी शामिल होगा। अभी भी महान नहीं है। – danielepolencic