Java 问: 我喜欢简单网页的 CSS,但在现实世界的网站上讨厌它,因为你会得到 css explosion和很多重复。
我很想使用 Sass 和/或 Compass,但它们是 Ruby 程序,很可能需要一些有趣的 Maven + JRuby 爱好才能开始为 Java Web 应用程序开发工作。如果您使用的是 Eclipse 或任何支持与正在运行的 Web 应用程序同步的 IDE,这也会造成困难。
在 hell 般的 Java 中,是否有更好的替代方案来替代 CSS?
最佳答案
我最近使用 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 的具体实现:
例如
-
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}
, 展开的 war 目录)
所以虽然我无法帮助你使用 SASS(除了你询问授权 或者将其移植到 Groovy、Java 或 JavaScript),我想我已经向您展示了一个可行的替代方案。
当然,您也可以在没有 Groovy 的情况下在 java 中实现 Maven 插件(也可以通过 Rhino 嵌入 JavaScript),但我认为在 Groovy 中更容易。
关于管理 CSS 爆炸和/或重用的 Java 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3681550/