用于管理CSS爆炸和/或重用的Java库?

时间:2010-09-10 00:35:27

标签: java css maven-2 jruby sass

Java Q: 我喜欢CSS用于简单的网页,但在涉及现实世界的网站时却厌恶它,因为你得到css explosion并且有很多重复。

我很想使用Sass和Compass,但它们是Ruby程序,很可能需要一些有趣的Maven + JRuby才能为Java Web app dev工作。如果您使用的是Eclipse或支持与正在运行的Web应用程序同步的任何IDE,这也会很困难。

对于地狱中的CSS来说,还有一个更好的替代方案是Java吗?

4 个答案:

答案 0 :(得分:5)

我最近使用类似技术的LessCss走了同一条路。起初我尝试在我的构建生命周期中嵌入JRuby。但不幸的是,Maven + JRuby是一个怪物,它很慢,巨大而且有错误(有一半时间甚至没有启动,因为它会抱怨它运行的文件路径)。

幸运的是,现在有一个LessCss的JavaScript端口,我现在通过Mozilla Rhino嵌入了它。我describe the process in this blog post

昨天虽然我把它提升到了一个新的水平,但是制作一个Maven LessCss插件来最小化POM配置和代码重复。不幸的是我不能分享它,因为它是我当前客户的专有代码,但解决方案很简单:

Use GMaven to create the Plugin,创建一个调用LessCss编译器的抽象基mojo和为不同资源集配置基mojo的几个具体实现:

e.g。

  • lesscss:compile来自所有人的汇编 <resources>${project.build.outputDirectory}
  • lesscss:test-compile来自 所有<testResources>${project.build.testOutputDirectory}
  • lesscss:war-compile
    (编译来自 所有src/main/webapp${project.build.directory}/${project.build.finalName} ,爆炸的战争目录)

所以虽然我无法帮助你使用SASS(除了你问auth 或者将它移植到Groovy,Java或JavaScript),我想我已经向你展示了一个可行的替代方案。

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

答案 1 :(得分:3)

我最终使用了wro4j

强烈推荐使用该库,因为它可以处理许多事情,例如较少的CSS和咖啡CoffeeScript。

答案 2 :(得分:1)

this问题回答了在日食中使用sass的一个很好的解决方案。

答案 3 :(得分:0)

Sass命令行界面非常彻底。如果你在构建规则中调用sass --update,你可以使用标准的Sass可执行文件(通过Ruby或JRuby),而不必直接将它集成到你的构建中。