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 एस लिया।
क्या आप विस्तारित कर सकते हैं? 'ये मॉड्यूल आउटपुट सीएसएस में कुछ भी इंजेक्ट नहीं करेंगे' और 'आप अपने एसएएसएस को सीएसएस में संकलित करने के लिए आवश्यक समय को कम कर देंगे'। मुझे यह नहीं मिला। आपने कहा कि यह कुछ भी इंजेक्ट नहीं करता है लेकिन फिर कोई संख्या सीमित करता है। मॉड्यूल के संकलन समय को कम कर देता है। संकलन का मतलब यह नहीं है कि मॉड्यूल आउटपुट में इंजेक्शन दिया गया है? – wryrych
@WojtekRyrych अद्यतन उत्तर देखें। – Pavlo
ठीक है, अब मैं देखता हूं। तो '@ import' केवल मॉड्यूल संदर्भ देता है लेकिन यह '@ शामिल' है जो आउटपुट सीएसएस में कोड इंजेक्ट करता है। स्पष्टीकरण के लिए धन्यवाद! – wryrych