Java库用于管理CSS的扩展和/或重用?

12 浏览
0 Comments

Java库用于管理CSS的扩展和/或重用?

Java问题:

我喜欢在简单的网页上使用CSS,但当涉及到真实世界的网站时,我讨厌它,因为会出现CSS爆炸和大量重复的问题。

我动心想使用Sass和/或Compass,但它们是Ruby程序,很可能需要一些有趣的Maven + JRuby的结合才能在Java Web应用程序开发中起作用。如果你使用Eclipse或任何支持与运行中的Web应用程序同步的IDE,这也会变得更加困难。

在Java中,有没有更好的替代方案来解决CSS的问题?

0
0 Comments

问题的原因:有人在寻找一种在Eclipse中使用Sass的解决方案。

解决方法:在stackoverflow的一个问题中,有人提供了一个使用Sass在Eclipse中的良好解决方案。

以下是整理后的文章:

有人在stackoverflow上提出了一个问题,他们正在寻找一种在Eclipse中使用Sass的解决方案。幸运的是,有人在同一个问题的答案中提供了一个很好的解决方案。

解决方案的代码如下:

import com.github.sommeri.less4j.LessCompiler;
import com.github.sommeri.less4j.LessSource;
public class LessCSSCompiler {
    public static void main(String[] args) throws Exception {
        LessCompiler compiler = new LessCompiler();
        String lessFile = "path/to/your/less/file.less";
        String cssFile = "path/to/output/css/file.css";
        LessSource lessSource = new LessSource(new File(lessFile));
        compiler.compile(lessSource, new File(cssFile));
    }
}

这段代码使用了一个名为"less4j"的Java库,它允许我们在Eclipse中使用Sass。通过将需要编译的.less文件和输出的.css文件的路径传递给代码中的相应变量,我们可以使用这个代码段来实现在Eclipse中使用Sass的需求。

通过在stackoverflow上找到一个问题的答案,我们找到了一个使用Sass在Eclipse中的解决方案。这个解决方案使用了一个名为"less4j"的Java库,通过编写一小段代码,我们可以在Eclipse中管理和重用CSS文件。

0
0 Comments

我最终选择了wro4j。强烈推荐这个库,因为它可以处理许多事情,比如less css和CoffeeScript。

wro4j是纯Java解决方案吗?似乎使用了less.js?我在内部网络中与公共网络完全隔离,一些计算机完全与外界隔离。

0
0 Comments

最近我也走过同样的道路,使用了类似的技术LessCss。起初,我尝试在我的构建生命周期中嵌入JRuby。但不幸的是,Maven + JRuby是个怪物,它运行慢、庞大且有很多bug(有一半的时间它甚至都无法启动,因为它抱怨运行的文件路径)。

幸运的是,现在有了LessCss的JavaScript版本,我现在通过Mozilla Rhino嵌入它。我在这篇博文中描述了这个过程。

不过,昨天我将其提升到了一个新的水平,创建了一个Maven LessCss插件,以减少POM配置和代码重复。不幸的是,我不能分享它,因为它是我目前客户的专有代码,但解决方案很简单:使用GMaven创建插件,创建一个调用LessCss编译器的抽象基础mojo,并创建多个具体实现来为不同的资源集配置基础mojo,例如:

lesscss:compile - 从所有编译到${project.build.outputDirectory}

lesscss:test-compile - 从所有编译到${project.build.testOutputDirectory}

lesscss:war-compile - 从所有src/main/webapp编译到${project.build.directory}/${project.build.finalName}(即exploded war目录)

所以虽然我无法帮助你解决SASS问题(除非你要求作者将其移植到Groovy、Java或JavaScript),但我认为我已经向你展示了一个可行的替代方案。

当然,你也可以用Java实现一个没有Groovy的Maven插件(也可以通过Rhino嵌入JavaScript),但我认为用Groovy更容易。

在我读到你的回复之前上班的路上,我在想写一个Groovy构建器来处理CSS和类似SASS的微型DSL,使用Servlet过滤器或Servlet来提供CSS(就像JSP/GSP对HTML的作用一样)。太棒了!

正如我在博客文章中写的,对于Less和Wicket,已经存在一个非常相似的解决方案:richardnichols.net/2010/06/…。顺便说一下,如果你真的写了这样一个Groovy构建器,请在这里发布。

我现在考虑在两者之间寻找一个折中的方法。Servlet过滤器/Servlet运行Less.js + Rhino。基本上是你的想法,但不依赖于Wicket(我没有任何反对意见)。我会看看能否在这个周末发布一个可用的版本在GitHub上。非常棒的博客!-- 编辑 删除之前的内容,我看到Asual已经做过了。

你见过wro4j吗?你能在你的回复中添加以下链接给其他人吗:

* code.google.com/p/wro4j/wiki/LessCssSupport

* asual.com/lesscss

0