我正在寻找在Java中实现SASS(可以用JSP / JSF使用)。 对于Python我发现CleverCSS,但并没有什么为Java。 任何人听说过一些,这种工具用于生成CSS?
Answer 1:
随着ANT:
- 下载完整的JRuby jar文件( JRuby的完整的jar下载页面 )
- 下载最新的HAML / SASS代码( HAML / SASS压缩包 ),并提取它。 把它放在 “/库/ sass- [VERSION]”
- 下面添加到Ant构建文件。
- 替换脚本[VERSION]到JRuby和SASS的相应版本
- 运行Ant脚本,青菜或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>
Answer 2:
ZUSS是一个很好的替代LESS和SASS。 它类似于更少。 不像LESS和SASS的ZUSS文件的处理并不需要JavaScript解释器。
免责声明:我ZUSS的开发商。 我开发它,只是因为我无法找到一个Java的巧妙的解决办法。
Answer 3:
有一个项目: http://code.google.com/p/jsass/ (但它是在一个非常早期的阶段)。
如果您有兴趣较少,有一个现成使用的Java版本吧: http://www.asual.com/lesscss/
Answer 4:
您还可以看看到Web资源优化4j中(WRO4J) ,它允许大量一件事情(缩小,资源合并),并支持CSS少(在运行时,据我所知)。
这意味着:您添加wro4j过滤器,以你的web.xml,当你问一个CSS,你.scss(或.saas)文件编译成标准的CSS。
我还没有使用它,但它似乎比这里列出的其他产品更加先进。
事实上,我在读关于Java的网站(欠评论http://www.asual.com/lesscss/ )和WRO4J使用这个库来提供它的“对飞编译少”。 所以我觉得不太for Java是要走的路。
Answer 5:
你知道吗,在Vaadin web框架,用它自己的内置萨斯编译器? 见https://vaadin.com/blog/-/blogs/state-of-sass-support-in-vaadin-7-today ...
Answer 6:
我个人觉得SASS语法深,可怕的讨厌。 用于拼音/ Python人群它可能会作为第二性质; 我作为Java的家伙 - 没有这么多。 我强烈希望LESS这是建立在CSS语法,而不是想出一个新的。 这具有能够使用现有的CSS文件“现况”,并根据需要加入具有特色一个不错的优点。
这就是说,无论是上海社会科学院也没少把Java作为端口据我所知。 两者都是基于Ruby,不过,这样你就可以在安装它们的JRuby 。 这种做法的唯一问题是JRuby是头脑麻木启动缓慢。 这不是一个巨大的交易,不过,因为你有可能会使用的文件监控发展(一旦它启动时它运行速度非常流畅),并且你不打算自己的作品在部署过程中需要几秒钟更长的时间来关心我。
也有一些基于PHP的实现比如LessPhp , XCSS等。 没有尝试过他们个人,虽然。
Answer 7:
似乎有一个毕竟(可能发展后,这一问题被问了一会儿)
https://github.com/Jasig/sass-maven-plugin
Answer 8:
鉴于SASS已转换为CSS是可用的,什么是错的使用sass2css与红宝石SASS分配?
Answer 9:
你可以试试这个过滤器我只是放在一起- https://github.com/darrinholst/sass-java
Answer 10:
我使用Ant使用指南针和无礼的话在我的Eclipse项目。
我在这里遵循本教程:
http://caueguerra.com/tutorial-using-sass-in-a-java-project
指南针延伸萨斯并允许我的其他额外。
http://compass-style.org/
Answer 11:
我知道我迟到了,但是这是我花了使用SASS在Java项目,Ant构建的方法: http://workingonthecoolstuff.blogspot.com/2011/02/using-sass-in-ant -build.html总之,我使用Ruby和萨斯安装在计算机上做构建所以这是为使用Ant“应用”任务与包括所有SCSS / SASS文件集调用SASS命令/应用程序一样简单文件。
Answer 12:
Sassc在C命令行实现,这应该是很容易添加到构建过程。 基于作者我要说它应该保持最新与上海社会科学院:
萨斯最初是由这个库的共同创造者,汉普顿卡特林(@hcatlin)创建的。 扩展和语言的不断演变已全部工作年限由Nathan魏泽鲍姆(@ NEX3)和克里斯Eppstein的(@chriseppstein)的结果。