2010-05-13 5 views
7

मेरे जावास्क्रिप्ट में मेरे पास विशेष रूप से डीबगिंग के लिए उपयोग किए जाने वाले कोड के कुछ बिट्स हैं जिन्हें मैं लाइव साइट में शामिल नहीं करना चाहता हूं। क्या कोई तरीका है कि मैं कोड के इन बिट्स को अर्ध-टिप्पणी कर सकता हूं ताकि वे सामान्य रूप से जावास्क्रिप्ट के रूप में चल सकें, लेकिन वह यूई कंप्रेसर सोचता है कि वे टिप्पणियां हैं और उन्हें हटा दें?विशिष्ट गैर-टिप्पणी कोड को हटाने के लिए YUI कंप्रेसर को बताएं

उदाहरण

for(key in modules) { 
    try { 
    MyApp[key].init(modules[key].params); 
    } catch (e) { 
    console.log("Module " + key + " threw an error"); 
    break; 
    } 
} 

मैं जब लाइव साइट पर तैनात करने के लिए संपीड़ित करने के लिए स्वचालित रूप console.log सा बाहर टिप्पणी करने में सक्षम होना चाहते हैं के लिए

sed -e "s/console/\/\/console/g" originalWithConsoleStatements.js > noConsoleStatements.js 

यह बयान: कंप्रेसर शुरू करने से पहले

मैं sed उपयोग कर रहा हूँ "//console" साथ "console" को बदलने के लिए: तो शायद

//yuiIgnore 
     console.log("Module " + key + " threw an error"); 
    //endyuiIgnore 
+0

क्या आप कृपया उस कोड का नमूना प्रदान कर सकते हैं जिसे आप छोटा करने की कोशिश कर रहे हैं लेकिन बाहर नहीं हो रहा है। दूसरा, क्या आप कृपया कमांड लाइन को कम करने या कॉन्फ़िगरेशन सेटिंग्स (यदि आप .NET पोर्ट का उपयोग कर रहे हैं) प्रदान करते हैं। –

उत्तर

8
संबंध में विशेष रूप से

console.log के बयान की तरह कुछ में कोड लपेट एक शेल स्क्रिप्ट के अंदर बैठता है जो तब कंप्रेसर लॉन्च करता है।

+9

यह मानता है कि सभी console.log स्टेटमेंट एक पंक्ति पर हैं, अन्यथा आपको सिंटैक्स त्रुटियां मिलेंगी, मुझे लगता है ... –

+0

यह एक अच्छा विचार है! –

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