web-dev-qa-db-ja.com

Java用のSASS実装?

Java(JSP/JSFで使用可能)でSASS実装を探しています。Python CleverCSSを見つけましたが、 Java。CSSを生成するこの種のツールについて何か聞いたことはありますか?

73
user213225

ANTあり:

  1. JRubyの完全なjarファイルをダウンロードします( JRubyの完全なjarダウンロードページ
  2. 最新のHAML/SASSコード( HAML/SASS tarball )をダウンロードして抽出します。 「/ libs/sass- [バージョン]」に入れてください
  3. 以下をantビルドファイルに追加します。
  4. スクリプトの[VERSION]をJRubyおよびSASSの対応するバージョンに置き換えます
  5. Antスクリプトを実行すると、sassまたはscssファイルがコンパイルされます!
<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>

MAVENの場合:

Mavenはこれも行うことができます:antrunプラグインを使用する:

<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>  
48
Joep

[〜#〜] zuss [〜#〜] は、LESSおよびSASSの代替として適しています。 LESSに似ています。 LESSやSASSとは異なり、ZUSSファイルの処理にはJavaScriptインタープリターは必要ありません。

免責事項:私はZUSSの開発者です。 Javaのきちんとした解決策を見つけることができないという理由だけで開発しました。

18
Tom Yeh

プロジェクトが1つあります: http://code.google.com/p/jsass/ (ただし、非常に初期の段階です)。

Lessに興味がある場合は、すぐに使用できるJavaのバージョン: http://www.asual.com/lesscss/

14

Web Resource Optimizer 4 J(WRO4J) を見ると、多くのこと(縮小、リソースのマージ)が可能になり、少ないCSS(実行時の限り)がサポートされます。

つまり、web.xmlにwro4jフィルターを追加し、CSSを要求すると、.scss(または.saas)ファイルが標準CSSにコンパイルされます。

まだ使用していませんが、ここにリストされている他の製品よりも高度なようです。


実際、Java Webサイト( http://www.asual.com/lesscss/ )のLessについてのコメントを読んでいて、WRO4Jはこのライブラリを使用して提供していますそれは「オンザフライの少ないコンパイル」です。だから、Javaが進むべき道です。

10
legzo

Vaadin Webフレームワークには、独自の組み込みSassコンパイラが付属していることをご存知ですか? https://vaadin.com/blog/-/blogs/state-of-sass-support-in-vaadin-7-today を参照してください...

7
vorburger

私は個人的に、SASS構文を深く、恐ろしく迷惑だと感じています。 Ruby/Python群衆それは第二の性質として来るかもしれません;私にとってはJava guy-そんなにない。 stronglyprefer [〜#〜] less [〜#〜] 新しいものを思いつく代わりにCSS構文に基づいて構築します1つ目は、既存のCSSファイルを「現状のまま」使用し、必要に応じてLESS機能を組み込むことができるという追加の利点があります。

つまり、SASSもLESSも、Javaポートは私の知る限りではありません。どちらもRubyベースです。したがって、これらを JRuby の下にインストールできます。このアプローチの問題は、JRubyの起動が非常に遅いことです。ただし、開発ではファイルモニタリングを使用する可能性が高いため(起動すると非常にスムーズに実行されるため)、それほど大きな問題ではありません。ビルドが展開中に数秒長くかかることをあまり気にしません。

LessPhpxCSS などのようなPHPベースの実装もあります。ただし、個人的に試したことはありません。

5
ChssPly76

結局のところ1つあるようです(この質問が尋ねられた後、おそらくしばらく開発されました)

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

4
Eran Medan

SASSをCSSに変換して使用できるようにする必要がある場合、Ruby SASS?

3
aussiegeek

このフィルターを試すことができます- https://github.com/darrinholst/sass-Java

3
Darrin Holst

Antを使用してEclipseプロジェクトでCompass&Sassを使用しています。

ここでこのチュートリアルを実行しました。

http://caueguerra.com/tutorial-using-sass-in-a-Java-project

CompassはSassを拡張し、他の追加機能を可能にします。

http://compass-style.org/

1
Eric H

私はパーティーに遅れていることは知っていますが、これはJavaプロジェクトでSASSを使用するために取ったアプローチです: http://workingonthecoolstuff.blogspot。 com/2011/02/using-sass-in-ant-build.html 要約すると、RubyとSassがインストールされたマシンでビルドを行っているため、すべてのSCSS/SASSファイルを含むファイルセットでAnt "apply"タスクを使用してsassコマンド/アプリケーションを呼び出すのは簡単です。

1
spaaarky21

Sassc はCのコマンドライン実装であり、ビルドプロセスに簡単に追加できるはずです。著者に基づいて、sassを最新の状態に保つべきだと思います。

Sassはもともと、このライブラリの共同作成者であるハンプトンカトリン(@hcatlin)によって作成されました。言語の拡張と継続的な進化はすべて、Nathan Weizenbaum(@ nex3)とChris Eppstein(@chriseppstein)による長年の作業の結果です。

0
Sam Hasler