java जावा के लिए एसएएसएस कार्यान्वयन?




maven ant (10)

मैं जावा में एसएएसएस कार्यान्वयन की तलाश में हूं (जेएसपी / जेएसएफ के साथ इस्तेमाल किया जा सकता है)। पायथन के लिए मुझे क्लीवरसीएसएस मिला है, लेकिन जावा के लिए कुछ भी नहीं है। किसी ने सीएसएस उत्पन्न करने के लिए इस तरह के टूल के बारे में कुछ सुना है?


यह देखते हुए कि SASS को उपयोग करने योग्य होने के लिए सीएसएस में परिवर्तित किया जाना है, रूबी एसएएसएस के साथ वितरित sass2css का उपयोग करने में क्या गलत है?


ऐसा लगता है कि एक के बाद एक है (संभवतः इस सवाल के बाद कुछ समय बाद विकसित हुआ)

https://github.com/Jasig/sass-maven-plugin


Sassc सी में कमांड लाइन कार्यान्वयन है, जिसे बिल्ड प्रक्रिया में जोड़ना आसान होना चाहिए। लेखकों के आधार पर मैं कहूंगा कि इसे सैस के साथ अद्यतित रहना चाहिए:

सैस मूल रूप से इस पुस्तकालय के सह-निर्माता, हैम्पटन कैटलिन (@ हकललिन) द्वारा बनाया गया था। भाषा का विस्तार और निरंतर विकास नाथन वीज़ेनबाम (@ नेक्स 3) और क्रिस एपस्टीन (@ क्रिसिप्स्टीन) द्वारा वर्षों के काम का परिणाम रहा है।


ZUSS कम और ZUSS लिए एक अच्छा विकल्प है। यह कम के समान है। कम और एसएएसएस के विपरीत, ZUSS फ़ाइलों की प्रसंस्करण को जावास्क्रिप्ट दुभाषिया की आवश्यकता नहीं होती है।

अस्वीकरण: मैं ज़ूएसएस का डेवलपर हूं। मैंने इसे आसानी से विकसित किया क्योंकि मुझे जावा के लिए एक साफ समाधान नहीं मिल रहा है।



मैं व्यक्तिगत रूप से SASS वाक्यविन्यास को गहराई से, बहुत परेशान करता हूं। रूबी / पायथन भीड़ के लिए यह दूसरी प्रकृति के रूप में आ सकता है; मेरे लिए जावा लड़के के रूप में - इतना नहीं। मैं दृढ़ता से LESS पसंद करता हूं जो एक नए के साथ आने के बजाय सीएसएस वाक्यविन्यास पर बनाता है। आपके मौजूदा सीएसएस फाइलों को "जैसा है" का उपयोग करने में सक्षम होने का एक अच्छा जोड़ा गया लाभ है और आवश्यकतानुसार कम सुविधाओं को शामिल करना है।

उस ने कहा, जहां तक ​​मुझे पता है, न तो एसएएसएस और न ही कम जावा बंदरगाह हैं। दोनों रूबी आधारित हैं, हालांकि, आप उन्हें JRuby तहत स्थापित कर सकते हैं। उस दृष्टिकोण के साथ एकमात्र मुद्दा यह है कि जेआरबीई शुरू करने के लिए दिमागी-धीमी गति से धीमा है। हालांकि, यह एक बड़ा सौदा नहीं है, क्योंकि आप संभावित रूप से विकास में फ़ाइल निगरानी का उपयोग करने जा रहे हैं (और एक बार यह स्टार्टअप होने पर यह बहुत चिकनी हो जाता है) और आप इस परवाह नहीं करेंगे कि आपके निर्माण को तैनाती के दौरान कुछ सेकंड लगते हैं ।

कुछ PHP- आधारित कार्यान्वयन भी हैं जैसे LessPhp , xCSS और अन्य। हालांकि, व्यक्तिगत रूप से उन्हें कोशिश नहीं की है।


एंट के साथ:

  1. JRuby पूर्ण जार फ़ाइल डाउनलोड करें ( JRuby पूर्ण जार डाउनलोड पेज )
  2. नवीनतम एचएएमएल / एसएएसएस कोड ( एचएएमएल / एसएएसएस टैरबॉल ) डाउनलोड करें, और इसे निकालें। इसे "/ libs / sass- [संस्करण]" में रखें
  3. एक चींटी निर्माण फ़ाइल में निम्नलिखित जोड़ें।
  4. स्क्रिप्ट में [VERSION] को JRuby और SASS के संबंधित संस्करणों में बदलें
  5. चींटी स्क्रिप्ट चलाएं, और एसएएस या एसएसएस फाइलों को संकलित किया जाएगा!

<path id="JRuby">
    <fileset file="libs/jruby-complete-[VERSION].jar"/> <!-- Location of JRuby jar file -->
</path>  

<target name="compileSCSS">
    <echo message="Compiling scss files..." />
    <property name="filesIn" value="${dir.css}/scss/**/[^_]*.scss" />
    <property name="fileOutDir" value="/${dir.css}/${dir.css.build}" />
    <script language="ruby" classpathref="JRuby">
        <![CDATA[
            require 'libs/sass-[VERSION]/lib/sass'
            require 'sass/exec'

            files = Dir.glob($project.getProperty('filesIn'))
            Dir.mkdir($project.getProperty('fileOutDir')) unless File.exists?($project.getProperty('fileOutDir'))
            files.each do 
                | file |
                puts "     [sass compiler] " + file + " -> " + $project.getProperty('fileOutDir') + "/" + File.basename(file, ".*") + ".css"
                opts = Sass::Exec::Sass.new(["--load-path", File.dirname(file), file, File.join($project.getProperty('fileOutDir'), File.basename(file, ".*") + ".css")])
                opts.parse
            end
        ]]>
    </script>
    <echo message="Done compiling scss files!" />
</target>

मावेन के साथ:

मेवेन यह भी कर सकता है: एंटर प्लगइन का उपयोग करना:

<project>
<build>
<plugins>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.6</version>
    <executions>
        <execution>
            <id>compileAndMinify</id>
            <phase>compile</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <target>
                    <mkdir dir="${project.build.directory}/compiled" />

                    <echo message="Compiling scss files..."/>
                    <path id="JRuby">
                        <fileset file="${basedir}/jars/jruby-complete-[VERSION].jar"/>
                    </path>
                    <property name="filesIn" value="${project.build.directory}/css/**/[^_]*.scss" />
                    <property name="fileOutDir" value="${project.build.directory}/compiled/css" />
                    <script language="ruby" classpathref="JRuby">
                        <![CDATA[
                            require 'libs/sass-[VERSION]/lib/sass'
                            require 'sass/exec'

                            files = Dir.glob($project.getProperty('filesIn'))
                            Dir.mkdir($project.getProperty('fileOutDir')) unless File.exists?($project.getProperty('fileOutDir'))
                            files.each do 
                                | file |
                                puts "     [sass compiler] " + file + " -> " + $project.getProperty('fileOutDir') + "/" + File.basename(file, ".*") + ".css"
                                opts = Sass::Exec::Sass.new(["--load-path", File.dirname(file), file, File.join($project.getProperty('fileOutDir'), File.basename(file, ".*") + ".css")])
                                opts.parse
                            end
                        ]]>
                    </script>
                </target>
            </configuration>
        </execution>
    </executions>
</plugin>
</plugins>
</build>
</project>  


आप वेब रिसोर्स ऑप्टिमाइज़र 4 जे को भी देख सकते हैं जो बहुत सी चीजों (मिनीफिकेशन, रिसोर्स विलय) की अनुमति देता है और कम सीएसएस का समर्थन करता है (रनटाइम पर जहां तक ​​मुझे पता है)।

इसका अर्थ है: आप अपने web.xml पर wro4j फ़िल्टर जोड़ते हैं और जब आप एक सीएसएस के लिए पूछते हैं, तो आपकी .scss (या .saas) फ़ाइलों को मानक सीएसएस में संकलित किया जाता है।

मैंने अभी तक इसका उपयोग नहीं किया है, लेकिन यह यहां सूचीबद्ध अन्य उत्पादों की तुलना में अधिक उन्नत लगता है।

असल में, मैं जावा के लिए कम वेबसाइट ( http://www.asual.com/lesscss/ ) पर टिप्पणियां पढ़ रहा था और WRO4J इस लाइब्रेरी का उपयोग "फ्लाई कम संकलन" प्रदान करने के लिए करता है। तो मुझे लगता है कि जावा के लिए कम रास्ता है।


मुझे पता है कि मैं पार्टी के लिए देर हो चुकी हूं, लेकिन यह एक दृष्टिकोण है जिसे मैंने जावा प्रोजेक्ट में एएस बिल्ड के साथ एसएएसएस का उपयोग करने के लिए लिया था: http://workingonthecoolstuff.blogspot.com/2011/02/using-sass-in-ant-build.html संक्षेप में, मैं रूबी और सास के साथ एक मशीन पर निर्माण कर रहा हूं, http://workingonthecoolstuff.blogspot.com/2011/02/using-sass-in-ant-build.html "लागू" कार्य का उपयोग करके एसएएस कमांड / एप्लिकेशन को कॉल करना जितना आसान था, जिसमें सभी एससीएसएस / एसएएसएस शामिल थे फ़ाइलें।





sass