Java Q: 我喜欢CSS用于简单的网页,但在涉及现实世界的网站时却厌恶它,因为你得到css explosion并且有很多重复。
我很想使用Sass和Compass,但它们是Ruby程序,很可能需要一些有趣的Maven + JRuby才能为Java Web app dev工作。如果您使用的是Eclipse或支持与正在运行的Web应用程序同步的任何IDE,这也会很困难。
对于地狱中的CSS来说,还有一个更好的替代方案是Java吗?
答案 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),而不必直接将它集成到你的构建中。