我在寻找一种方式来编译关于开发过程中需要在服务器端CSS LESS文件。 例如,如果浏览器发出请求到/assets/css/foo.css我希望服务器发现有一个/assets/css/foo.less文件,然后到了这个文件符合所得的CSS返回。 我猜一定有一个不太servlet的地方,可以做到这一点?
我运行Tomcat 7与Spring MVC应用程序
如何配置Java Web应用程序对飞LESS编译呢?
我在寻找一种方式来编译关于开发过程中需要在服务器端CSS LESS文件。 例如,如果浏览器发出请求到/assets/css/foo.css我希望服务器发现有一个/assets/css/foo.less文件,然后到了这个文件符合所得的CSS返回。 我猜一定有一个不太servlet的地方,可以做到这一点?
我运行Tomcat 7与Spring MVC应用程序
如何配置Java Web应用程序对飞LESS编译呢?
我知道你在寻找的是一个Servlet过滤器 。 我不知道有一个现成的一个没有LESS编译,并会已经开始使用,使一个lesscss-java的 ,但现在我可以看到有一个叫大项目的Web资源优化的Java - wro4j与服务器端的支持较少 。
它会更简单 (和更有效)首先编译文件少你的web应用的构建过程中的CSS文件。
作为一个例子,使用Maven时,我们使用了lesscss-行家-插件 ( 编译目标,流程源相),以从更小的文件生成CSS文件。 那么只有CSS文件的使用和包装在webapp。 没有减档都动态地使用。
另一个优点是,Web应用程序部署前减少文件进行编译,所以越早被检测编译错误。
在pom.xml中配置例子:
<plugin>
<groupId>org.lesscss</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>1.3.0</version>
<configuration>
<sourceDirectory>${project.basedir}/src/main/webapp/less</sourceDirectory>
<outputDirectory>${project.build.directory}/${project.build.finalName}/css</outputDirectory>
<compress>true</compress>
<includes>
<include>main.less</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
我们做的是,我们有两种模式:开发和生产。
为了开发,使用官方少CSS JS编译器,汇编上飞:
<link type="text/css" rel="stylesheet/less" href="${...}/style.less" />
<script>(window.less = window.less || {}).env = 'development';</script>
<script src="${staticContext}/lib/less-1.3.3.js"></script>
在你的HTML
为督促,通过使用编译样式https://github.com/marceloverdijk/lesscss-maven-plugin
<link type="text/css" rel="stylesheet" href="${staticContext}/css/style.css" />