क्या कोई SASS.js है? LESS.js जैसा कुछ?


112

मैंने पहले LESS.js का उपयोग किया है । इसका उपयोग करना आसान है, कुछ पसंद है

<link rel="stylesheet/less" href="main.less" type="text/css">
<script src="less.js" type="text/javascript"></script>

मैंने SASS.js को देखा । मैं इसे एक समान तरीके से कैसे उपयोग कर सकता हूं? HTML में तुरंत उपयोग के लिए SASS फ़ाइल पार्स करना। ऐसा लगता है SASS.js की तरह साथ प्रयोग के लिए अधिक है Node.js ?

var sass = require('sass')
sass.render('... string of sass ...')
// => '... string of css ...'

sass.collect('... string of sass ...')
// => { selectors: [...], variables: { ... }, mixins: { ... }}

6
उत्पादन के लिए यह बुराई की जड़ है, आपके पास विकास के लिए sass watch
हौलेथ

3
मुझे यह विचार पसंद आया क्योंकि "sass watch" के साथ समस्या यह है कि आप कभी-कभी गलती से "sass watch" चलाने से पहले पृष्ठ का परीक्षण कर लेते हैं। कम.जेएस के साथ आप पृष्ठ को लोड करते हैं सुनिश्चित करें कि पृष्ठ को देखते समय सीएसएस संकलित किया गया है। केवल देव परिवेश में।
माया कैथरीन एंडरसन

SassMeister बाहर की जाँच करें: sassmeister.com - एक मुफ्त ऑनलाइन पास संकलक
दान

1
वास्तव में, sass.js
LukyVj

@ हाल ही की सास घड़ी (कम घड़ी की तरह) कभी-कभी एक विकल्प नहीं होती है। विशेष रूप से जब आपकी स्रोत फाइलें किसी थर्ड पार्टी बिल्ड / डिपेंडेंसी द्वारा नियंत्रित की जाती हैं और आपके पास केवल पूर्ण स्रोत फाइलें हो सकती हैं, जब आप अपने वेब ऐप को पैक कर रहे हैं या उसकी धीमी गति से तैनाती कर रहे हैं। (यानी ... जावा वेब ऐप्स)
जरदोज़ो

जवाबों:


42

कोई आधिकारिक तौर पर स्वीकृत जावास्क्रिप्ट कार्यान्वयन sass या scss नहीं है। प्रगति में कुछ कार्यान्वयन हैं जिन्हें मैंने देखा है, लेकिन इस समय कोई भी उपयोग करने की अनुशंसा नहीं कर सकता है।

हालाँकि, कृपया कुछ बिंदु:

  1. जब आप इन सभी के लिए एक बार कर सकते हैं तो आपको अपने सभी उपयोगकर्ताओं को अपनी स्टाइलशीट क्यों तैयार करनी चाहिए।
  2. यदि जावास्क्रिप्ट अक्षम है तो आपकी साइट कैसी दिखेगी
  3. यदि आप भविष्य में सर्वर-साइड कार्यान्वयन को बदलने का निर्णय लेते हैं, तो आपके सभी टेम्पलेट्स को तदनुसार बदलना होगा।

इसलिए जब यह आरंभ करने के लिए थोड़ा अधिक सेटअप होता है, तो हम (सैस कोर टीम) सोचते हैं कि सर्वर साइड संकलन सबसे अच्छा दीर्घकालिक दृष्टिकोण है। इसी तरह, कम डेवलपर्स उत्पादन स्टाइलशीट के लिए सर्वर साइड संकलन पसंद करते हैं।


157
मेरा उपयोग मामला: html + css टेम्पलेट विकसित करना जो रेल परियोजना में डाला जाएगा। लोकलहोस्ट डेवलपमेंट उद्देश्यों के लिए sass.js करना अच्छा होगा ताकि मुझे सर्वर स्टफ के साथ फिडेल न करना पड़े।
जोसेफ रिक्टर

93
ऐसे कई मामले हैं जिनमें क्लाइंट-साइड संकलन उपयोगी है। उदाहरण के लिए, यदि आप उपयोगकर्ताओं को अपने पेज के लुक के साथ खेलने देना चाहते हैं और केवल वे परिणाम चुनें जो वे सर्वर पर वापस चुनते हैं।
मॉन्ट्रियलमाइक

26
मैं 100% chriseppstein (नर्क क्यों आप उपयोगकर्ताओं को स्टाइलशीट संकलित करना चाहते हैं) के साथ सहमत हूँ, यहाँ नहीं कवर किया गया, सादा और सरल: विकास। मेरे सभी तैनात जेएस कोड मैं अपने सीएसएस के साथ, छोटा और संकुचित होना चाहता हूं। लेकिन विकास के दौरान, यह "संकलित" संस्करण के बजाय कोड तक पहुंचने में मदद करता है । मुझे यकीन नहीं है कि मैं सभी फ्रंट-एंड इंजीनियरों के लिए बोलता हूं, लेकिन मैं कह सकता हूं कि हम में से बहुत से लोग अपने ब्राउज़र और एक संपादक का उपयोग केवल विकास के चरण में आवश्यक उपकरण के रूप में करते हैं। मैं विकास के दौरान sass / scss का "संकलन" नहीं करना चाहता। परिनियोजन / CI / उत्पादन एक अलग मामला है
Graza

15
लेखकों की ओर से कुछ फेंकने के लिए; मैं एसएएसएस का उपयोग करने पर विचार करना चाहूंगा लेकिन मैं न तो उपयोग करता हूं और न ही मैं रूबी का उपयोग करना चाहता हूं; इसलिए ग्राहक पक्ष समाधान किसी के लिए बेहतर नहीं है। रूबी में इसे लिखना केवल माणिक उपयोगकर्ताओं के लिए इसके उपयोग को प्रतिबंधित करता है; यदि इसे JS में लिखा गया था तो इसे क्लाइंट या सर्वर पर (नोड, क्लासिक एस्प, एस्प.नेट और संभवतः अन्य के साथ) इस्तेमाल किया जा सकता था।
दान

27
एक जावास्क्रिप्ट कार्यान्वयन भी नोड / राइनो आदि के साथ सर्वर साइड का उपयोग किया जा सकता है बिना रूबी पर निर्भरता के बिना
सैम हसलर

29

चूंकि visionmeda / sass.js अब उपलब्ध नहीं है और scss-js को 2 वर्षों में अपडेट नहीं किया गया है, इसलिए मैं आपको sass.js में दिलचस्पी ले सकता हूं । यह C ++ लाइब्रेरी लिबास है ( नोड-एसएएस द्वारा भी उपयोग किया जाता है ) जो एम्सस्क्रिप्टेन का उपयोग करके जावास्क्रिप्ट के लिए संकलित है। HTML में लिंक किए गए या इनसाइट्स को संकलित करने के लिए एक कार्यान्वयन sass.link.js पर पाया जा सकता है ।

इंटरैक्टिव खेल के मैदान का उपयोग करके sass.js को आज़माएं


3
अब हमें बस रूबी कंपाइलर के लिए C ++ की आवश्यकता है और हम कोडबेस को एकजुट कर सकते हैं।
joeytwiddle

1
sass.js का आकार 670KB (gzipped) के आकार से काफी बड़ा प्रतीत होता है। यह भी कि मुझे sass.js में कोई विकल्प नहीं दिख रहा है। यह वास्तव में उपयोगी है जब आपके पास थिरेबल साइट है
अनिरुद्ध

7

हाँ

हम उम्मीद कर रहे थे के रूप में, पर यह फिर से लिखने के बाद सी ++ , यह संभव के माध्यम से जावास्क्रिप्ट में यह संकलन करने के लिए है Emscripten

यह ब्राउज़र संस्करण है: https://github.com/medialize/sass.js/

जैसा कि वे सलाह देते हैं, नोड के लिए आप इसका उपयोग कर सकते हैं: https://github.com/sass/node-sass


2
इसका एक संयोजन और (वर्तमान में स्वीकृत) उत्तर वास्तविक स्वीकृत उत्तर होना चाहिए।
प्लेडकॉर्प


5

आप निश्चित रूप से अपने सभी उपयोगकर्ताओं को स्टाइलशीट संकलित नहीं करना चाहिए, हालांकि एक जावास्क्रिप्ट कार्यान्वयन सर्वर पर भी चल सकता है। मैं एक जावास्क्रिप्ट sass कार्यान्वयन के लिए भी देख रहा हूँ - एक नोड .js ऐप में उपयोग करने के लिए। क्या यह कुछ सास टीम विचार कर रही है?


3
मैं उत्पादन के लिए SASS.js का उपयोग नहीं करना चाहता! मैं केवल SASS के लिए रूबी स्थापित करने की आवश्यकता के बिना एक विकसित मशीन को तैनात करने में सक्षम होना चाहता हूं। एक बार विकास हो जाने के बाद मैं किसी भी मशीन पर एसएएस को संसाधित कर सकता हूं और परिणाम सीएसएस को उत्पादन सर्वर में स्थानांतरित कर सकता हूं।
ए। मतिआस क़ज़ादा

1
मेरा सुझाव है कि आप नोड परियोजनाओं पर सैस के बजाय स्टाइलस का उपयोग करें।
airtonix

3

GitHub , scss-js पर एक प्रयास है । हालाँकि, यह अधूरा है और पाँच महीनों में कोई कमिट नहीं हुआ है।


1
यह एक नोड जेएस मॉड्यूल की तरह दिखता है? मूल प्रश्न एक बाउट क्लाइंट साइड कार्यान्वयन था, नहीं?
जयरजो

1

लिबास क्यों

हालांकि, sass के आधिकारिक तौर पर स्वीकृत JavaScript कार्यान्वयन नहीं है, लेकिन Sass इंजन का एक आधिकारिक C / C ++ पोर्ट है, जिसे लिबास के रूप में जाना जाता है । क्योंकि लिबास एक आधिकारिक कार्यान्वयन है, इसलिए एक जावास्क्रिप्ट पुस्तकालय का चयन करना सबसे अच्छा है जो हुड के नीचे लिबास का उपयोग करता है।


सर्वर पर

एक Node.js वातावरण में चल रहे जावास्क्रिप्ट के लिए, वहाँ Node-sass है

हुड के तहत, नोड-एसएएस लिबास का उपयोग करता है।


ब्राउज़र में

ब्राउज़र में जावास्क्रिप्ट चलाने के लिए, Sass.js है

हुड के तहत, Sass.js LibSass के एक संस्करण का उपयोग करता है (v3.3.6 मेरे लेखन के बिंदु पर) जो जावास्क्रिप्ट के साथ Emscripten में परिवर्तित हो गया है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.