我正在寻找Java中的SASS实现(可以与JSP / JSF一起使用)。对于Python,我已经找到了CleverCSS,但是Java没有。有人听说过这种生成CSS的工具吗?
我正在寻找Java中的SASS实现(可以与JSP / JSF一起使用)。对于Python,我已经找到了CleverCSS,但是Java没有。有人听说过这种生成CSS的工具吗?
Answers:
使用ANT:
<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>
require 'libs/sass-[VERSION]/lib/sass'
,我的亲戚并不如我所愿,我不得不从我拥有的财产中拿出绝对的财产。因此,它与require $project.getProperty('project.root') + '/sass/sass-3.2.9/lib/sass'
ZUSS是LESS和SASS的很好替代品。它类似于LESS。与LESS和SASS不同,ZUSS文件的处理不需要JavaScript解释器。
免责声明:我是ZUSS的开发人员。我之所以开发它,仅仅是因为找不到适合Java的灵巧解决方案。
有一个项目:http : //code.google.com/p/jsass/(但它还处于初期阶段)。
如果您对Less感兴趣,可以使用它的即用型Java版本:http : //www.asual.com/lesscss/
您还可以看看Web Resource Optimizer 4 J(WRO4J),它允许很多事情(最小化,资源合并)并支持Less CSS(据我所知在运行时)。
这意味着:您将wro4j过滤器添加到web.xml,并且当您请求CSS时,.scss(或.saas)文件将被编译为标准CSS。
我还没有使用过它,但是它似乎比这里列出的其他产品先进。
实际上,我在Less for Java网站(http://www.asual.com/lesscss/)上阅读评论,WRO4J使用此库来提供“即时运行的Less编译”。因此,我认为Less for Java是必经之路。
您是否知道Vaadin Web框架附带了它自己的内置Sass编译器?参见https://vaadin.com/blog / -/ blogs / state-of-sass-support-in-vaadin-7-today ...
似乎毕竟有一个(在提出这个问题后可能会发展一段时间)
<dependency><groupId>org.jruby</groupId><artifactId>jruby-complete</artifactId><version>1.6.7.1</version></dependency>
我更喜欢没有任何依赖性的东西。
您可以尝试一下我刚刚整理的过滤器-https: //github.com/darrinholst/sass-java
我在使用Ant的eclipse项目中使用了Compass&Sass。
我在这里遵循了本教程:
http://caueguerra.com/tutorial-using-sass-in-a-java-project
指南针扩展了Sass并允许其他附加功能。
我知道我迟到了,但是这是我在具有Ant构建的Java项目中使用SASS的方法:http : //workingonthecoolstuff.blogspot.com/2011/02/using-sass-in-ant -build.html 总而言之,我在安装了Ruby和Sass的计算机上进行构建,因此就像使用Ant“ apply”任务调用sass命令/应用程序一样简单,该文件集包含所有SCSS / SASS文件。