maven SASS的Java实现? 9 月 Questions & Answers 34527 我正在寻找Java中的SASS实现(可以与JSP/JSF一起使用)。对于Python,我发现了CleverCSS,但对于Java却没有。有人听说过这种生成CSS的工具吗
# 1 楼答案 您知道Vaadin web框架自带了自己的内置Sass编译器吗?见https://vaadin.com/blog/-/blogs/state-of-sass-support-in-vaadin-7-today
# 2 楼答案 有一个项目:http://code.google.com/p/jsass/(但它处于非常早期的阶段) 如果您对Less感兴趣,有一个现成的Java版本:http://www.asual.com/lesscss/
# 3 楼答案 我个人觉得SASS语法非常讨厌。对于Ruby/Python用户来说,这可能是第二天性;对于我这个爪哇人来说——没那么多。我更喜欢LESS,它建立在CSS语法的基础上,而不是提出一个新的语法。这有一个很好的额外优势,即能够“按原样”使用现有的CSS文件,并根据需要合并较少的功能 也就是说,据我所知,SASS或更少版本都没有java端口。不过,它们都是基于ruby的,所以您可以在JRuby下安装它们。这种方法唯一的问题是JRuby的启动速度非常慢。不过,这并不是什么大问题,因为您可能会在开发中使用文件监控(一旦启动,它就会运行得非常顺利),而且您也不会太在意构建在部署过程中花费的时间会延长几秒钟 还有一些基于PHP的实现,如LessPhp、xCSS等。不过,我还没有亲自尝试过
# 4 楼答案 蚂蚁: 下载JRuby完整jar文件(JRuby Complete jar download page) 下载最新的HAML/SASS代码(HAML/SASS tarball),并将其解压缩。将其放入“/libs/sass-[VERSION]” 将以下内容添加到ant构建文件中李> 将脚本中的[VERSION]替换为JRuby和SASS的相应版本 运行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>
# 1 楼答案
您知道Vaadin web框架自带了自己的内置Sass编译器吗?见https://vaadin.com/blog/-/blogs/state-of-sass-support-in-vaadin-7-today
# 2 楼答案
有一个项目:http://code.google.com/p/jsass/(但它处于非常早期的阶段)
如果您对Less感兴趣,有一个现成的Java版本:http://www.asual.com/lesscss/
# 3 楼答案
我个人觉得SASS语法非常讨厌。对于Ruby/Python用户来说,这可能是第二天性;对于我这个爪哇人来说——没那么多。我更喜欢LESS,它建立在CSS语法的基础上,而不是提出一个新的语法。这有一个很好的额外优势,即能够“按原样”使用现有的CSS文件,并根据需要合并较少的功能
也就是说,据我所知,SASS或更少版本都没有java端口。不过,它们都是基于ruby的,所以您可以在JRuby下安装它们。这种方法唯一的问题是JRuby的启动速度非常慢。不过,这并不是什么大问题,因为您可能会在开发中使用文件监控(一旦启动,它就会运行得非常顺利),而且您也不会太在意构建在部署过程中花费的时间会延长几秒钟
还有一些基于PHP的实现,如LessPhp、xCSS等。不过,我还没有亲自尝试过
# 4 楼答案
蚂蚁:
与MAVEN:
Maven也可以这样做: 使用antrun插件: