2012-05-21 9 views
9

से अप्रयुक्त फ़ाइलों को कैसे निकालें मैंने अपने रिलीज फ़ोल्डर को बनाने के लिए नीचे (1.7) कस्टम बिल्ड प्रोफ़ाइल का उपयोग किया है।दोजो 1.7 कस्टम बिल्ड - रिलीज फ़ोल्डर

var profile = { 
basePath: "..", 
action: "release", 
cssOptimize: "comments", 
mini: true, 
optimize: "closure", 
layerOptimize: "closure", 
stripConsole: "all", 
selectorEngine: "acme", 
packages:[ 
    { 
     name: "dojo", 
     location: "./../../dojo" 
    }, 

    { 
     name: "dijit", 
     location: "./../../dijit" 
    }, 

    { 
     name: "dojox", 
     location: "./../../dojox" 
    } 
], 

layers: { 
    "dojo/dojo": { 
     include: [ 
          "dojo/dojo", 
          "dijit/form/Button", 
          "dojox/form/TimeSpinner" 
        ], 
     customBase: true, 
     boot: true 
    } 
}, 

resourceTags: { 
    amd: function (filename, mid) { 
     return /\.js$/.test(filename); 
    } 
} }; 

अपने वेब आवेदन में, मैं सिर्फ दो घटकों का उपयोग कर रहा है, एक 'dijit' पैकेज से बटन है और एक और एक 'dojox' से TimeSpinner है। इसलिए, मैंने इन दो घटकों को 'dojo/dojo.js' फ़ाइल में शामिल किया है, यह काम कर रहा है जैसा कि मैंने उम्मीद की है।

लेकिन रिलीज फ़ोल्डर में कई फाइलों के साथ फ़ोल्डर 'डोजो', 'डिजीट' और 'डोजॉक्स' शामिल हैं।

अधिकांश घटक मेरे वेब एप्लिकेशन में उपयोग नहीं किए जाते हैं, लेकिन उनकी फ़ाइलें रिलीज़ फ़ोल्डर में मौजूद हैं। भले ही वे ब्राउजर में लोड नहीं होंगे (एएमडी की वजह से), मैं अपने रिलीज फ़ोल्डर में ऐसी फाइलें नहीं रखना चाहता हूं।

मेरे उपversण में इतनी बड़ी संख्या में फ़ाइलों को बनाए रखने के लिए अनावश्यक है।

तो, मेरे सवालों में नीचे हैं:

  1. कैसे रिलीज फ़ोल्डर से '.uncompressed.js' फ़ाइलों को हटाने के लिए?
  2. रिलीज फ़ोल्डर से फ़ाइलों, सीएसएस, अप्रयुक्त घटकों के टेम्पलेट्स को कैसे हटाएं?

कृपया मेरी मदद करो ...

उत्तर

2

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

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

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

// file: dojo/dojo.js 
declare(
    {cache: 
    { 
     "moduleDep_1": dojo.cache("moduleDep_1", {}), 
     "moduleDep_2": dojo.cache("modu...", ..) 
    }, "dojo/dojo", null, { 

    dojo/dojo here 

}); 

क्या होगा यदि आपके आगंतुक के पास आधार-निर्भरता है जिसे आपने छोड़ा था?

वैसे भी, पुराने निर्माण उपयोगिता में कार्यक्षमता निर्भरता थी जो सूची 1.7 बिल्ड उपयोगिता में मौजूद नहीं है। यह आपको 'सहेजा' होगा :)

यदि आप 100% निश्चित हैं कि केवल एक ही फ़ाइल की आवश्यकता है जो आपकी परत फ़ाइल है - क्यों न केवल उस फ़ाइल को अपने वेबहोटल पर अपलोड करें?

4

आप build.sh

find . -type f -name '*.uncompressed.js' -print0 | xargs -0 rm -rdf 

find . -type f -name '*.consoleStripped.js' -print0 | xargs -0 rm -rdf 
+0

के निचले भाग में निम्नलिखित लाइनों में जोड़ सकते हैं इस सवाल 2. –

+2

समान नस मैं 'इस्तेमाल किया लगता है में उत्तर नहीं देता। -नाम \ *। uncompressed.js -type f -delete' –

+0

क्या यह build.bat (windows) के लिए भी काम करता है? –

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