2012-12-19 15 views
8

हम काम पर एक समस्या है, हम js की आवश्यकता का उपयोग कर रहे हैं, लेकिन हमारे फ़ोल्डर संरचना, पर कुछ भिन्न है हम निम्नलिखित है:RequireJs minifcation - जटिल निर्देशिका संरचना

--js folder 
    --Folder 
     ---some base js files 
    -Folder 
     ---main 
      --src 
       ---require.js 
       --- require JS modules 
     --plugin js files 
     --more js files 

हम इन सभी कम करें चाहते हैं जेएस फाइलों को उत्पादन के लिए एक सिंगल जेएस फ़ाइल में

---js folder 
    --min-all.js 

क्या यह संभव है? यदि हां तो कैसे? .. किसी भी मदद की सराहना की जाएगी!

धन्यवाद!

मैंने सोचा कि मैं स्पष्ट करता हूं कि अन्य फ़ोल्डरों में मानक गैर मॉड्यूलर जावास्क्रिप्ट फ़ाइलें होती हैं, वे प्लगइन्स या सरल जावास्क्रिप्ट सहायकों का मिश्रण हो सकती हैं।

उत्तर

6

संक्षिप्त उत्तर है: हाँ, RequJS ऐसा कर सकता है।

असल में, आपको एक जेएस फ़ाइल बनाने की आवश्यकता होगी जिसके लिए आपको आवश्यक सभी संसाधनों की आवश्यकता है। फिर आप उस फ़ाइल पर ऑप्टिमाइज़र को इंगित करेंगे और यह उन सभी को एक साथ मैश करेगा।

require(["one", "../another/two", "folder/three", "folder/inner/four" ... ]); 

तो उस फ़ाइल myfile.js बुलाया गया था, तो आप इस के लिए इसी तरह के मानकों के साथ अनुकूलक चलाने होगा:

node r.js -o name=myfile out=optimized.js 

आप पुस्तकालयों या अन्य फ़ाइलों है कि आप अंतिम अनुकूलित फ़ाइल में शामिल नहीं कराना चाहते हैं, तो , आप excludeShallow ध्वज का उपयोग करेंगे। जैसे

node r.js -o name=myfile out=optimized.js excludeShallow=jquery.min 

ताकि आप अगर आप अभी तक नहीं किया है उनके optimization documentation की जांच करनी चाहिए और अधिक विकल्प हैं।

+0

तो myfile.js सभी शामिल करेगा, क्या उन फ़ाइलों को शामिल करने की भी आवश्यकता होगी जो src/.. के अंतर्गत नहीं हैं? बाहरी पुस्तकालयों, प्लगइन्स, आदि की तरह? – Nima

+1

आईआईआरसी ऑप्टिमाइज़र निर्भरता श्रृंखला चलाता है ताकि यहां "बूटस्ट्रैपर" जैसा सुझाव दिया गया हो, इसे सभी में लाने के लिए। – Aren

+0

त्वरित उत्तर के लिए धन्यवाद, अन्य कार्यक्षेत्रों में, डेटा-मुख्य विशेषता के तहत फ़ाइल myfile.js बन जाएगी? – Nima

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