2013-08-22 7 views
9

मैंने एक ही स्थान पर चर और मिक्स्ड जैसे साझा चीजों को आयात करना शुरू किया - सीएसएस मेनिफेस्ट फ़ाइल। अब मैं फ़ाइलों के सीधा पथ का उपयोग कर कुछ कम्पास मिश्रित आयात कर रहा हूं।क्या @import 'कंपास' में पूरे ढांचे शामिल हैं?

मेरा प्रश्न यह है कि @import 'compass' का उपयोग पूरे.cwork को application.css में इंजेक्ट करता है या यह सैस फाइलों में संदर्भों को देखकर किया जाता है और फिर केवल आवश्यक मिश्रित आयात करता है?

मैं सबकुछ शामिल नहीं करना चाहता हूं।

उत्तर

13

the docs@import 'compass' के अनुसार CSS3, टाइपोग्राफी और उपयोगिता मॉड्यूल आयात करेगा। ये मॉड्यूल आपके आउटपुट सीएसएस में कुछ भी इंजेक्ट नहीं करेंगे, उनमें केवल मिश्रण होते हैं।

किसी विशिष्ट मॉड्यूल या सबमिशन (यानी @import 'compass/css3/image') पर आयात सीमित करके आप अपनी एसएएसएस फ़ाइलों को सीएसएस में संकलित करने के लिए आवश्यक समय को कम कर देंगे।


उदाहरण के लिए, दो फाइलें बनाने दें।

// all.scss 

@import "compass"; 

.candy { 
    @include background(linear-gradient(top left, #333, #0c0)); 
} 
// module.scss 

@import "compass/css3/images"; 

.candy { 
    @include background(linear-gradient(top left, #333, #0c0)); 
} 

तो हम उन्हें (compass compile sass/FILENAME.scss) संकलन, परिणाम सीएसएस समान होगा:

.candy { 
    background: -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, #333333), color-stop(100%, #00cc00)); 
    background: -webkit-linear-gradient(top left, #333333, #00cc00); 
    background: -moz-linear-gradient(top left, #333333, #00cc00); 
    background: -o-linear-gradient(top left, #333333, #00cc00); 
    background: linear-gradient(top left, #333333, #00cc00); 
} 

अब संकलन आदेश को --time तर्क जोड़ सकते हैं और परिणामों की तुलना कर सकते हैं। मेरी मशीन के लिए, के लिए केवल 0.108 एस बनाम all.css संकलित करने के लिए 1.516 एस लिया।

+0

क्या आप विस्तारित कर सकते हैं? 'ये मॉड्यूल आउटपुट सीएसएस में कुछ भी इंजेक्ट नहीं करेंगे' और 'आप अपने एसएएसएस को सीएसएस में संकलित करने के लिए आवश्यक समय को कम कर देंगे'। मुझे यह नहीं मिला। आपने कहा कि यह कुछ भी इंजेक्ट नहीं करता है लेकिन फिर कोई संख्या सीमित करता है। मॉड्यूल के संकलन समय को कम कर देता है। संकलन का मतलब यह नहीं है कि मॉड्यूल आउटपुट में इंजेक्शन दिया गया है? – wryrych

+0

@WojtekRyrych अद्यतन उत्तर देखें। – Pavlo

+0

ठीक है, अब मैं देखता हूं। तो '@ import' केवल मॉड्यूल संदर्भ देता है लेकिन यह '@ शामिल' है जो आउटपुट सीएसएस में कोड इंजेक्ट करता है। स्पष्टीकरण के लिए धन्यवाद! – wryrych

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