2012-04-23 13 views
11

मैं जेएस फाइलों को कम करने के लिए वाईयूआई कंप्रेसर का उपयोग कर मधुमक्खियों का उपयोग कर रहा हूं। मैं इस कोड है:वाईयूआई कंप्रेसर और "सख्त उपयोग करें" संकेत

(function(global) { 
    "use strict"; 

    var X=1; 

    /*** my code here ***/ 

}(window)); 

और मैं इसे इस आदेश के साथ सेक:

$> java -jar yuicompressor-2.4.7.jar test.js -o test.min.js --verbose 

"का उपयोग सख्त" संकेत संकुचित आउटपुट फ़ाइल में मौजूद नहीं है। ऐसा लगता है कि यूयूआई सभी संकेत हटा देता है। और यह उत्पादन इस चेतावनी:

[WARNING] Invalid hint syntax: use strict 
(function(global){ ---> "use strict" <--- ;var X=1;... 

हालांकि, मेरे कोड संक्षिप्त करने के बाद ठीक काम करता है, मैं अगर वहाँ YUICompressor लिए एक तर्क संकेत और/या उस चेतावनी से बचने के लिए एक तरह से रक्षा करने के लिए है जानना चाहते हैं।

कोई सलाह? धन्यवाद।

+0

क्या आप इंजन को सही किए बिना सख्त कोड लिखने से अलग हैं? –

+0

वाह, यह वास्तव में लगता है कि यूयूआई उन पाठ संकेतों को दूर करता है और इसलिए, किसी भी सख्त मोड को स्वतः हटा देता है। – jAndy

+0

yuilibrary.com पर जाएं और कंप्रेसर के लिए टिकट दर्ज करें। –

उत्तर

3

एक आंशिक स्पष्टीकरण here पाया जा सकता है। यद्यपि यह प्रश्न बंद करने वाले कंपाइलर के बारे में है, तो उत्तर आपको एक संकेत देता है (जैसा कि Google को भी यह समस्या थी)। क्लोजर में --language_in=ECMASCRIPT5_STRICT

दुर्भाग्यवश अब तक यूयूआई कंप्रेसर के लिए ऐसी कोई चीज़ नहीं है। कम से कम मुझे ऐसा कुछ नहीं मिला।

+0

ध्यान दें कि जेएसलिंट 'सख्त उपयोग' के फ़ंक्शन फॉर्म को पसंद करता है लेकिन क्लोजर फ़ंक्शन फॉर्म को हटा देता है और फ़ाइल की शुरुआत में इसे जोड़ता है। तो अभी भी एक सही समाधान नहीं है। –

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