如何在自己的插件中使用lesscss-resources插件处理更少的文件?

时间:2012-09-19 14:40:17

标签: grails less grails-plugin

我使用的是Grails 2.1.0和lesscss-resources 1.3.0.3

我创建了一个包含较少和几个css文件的插件,安装了lesscss-resources插件+显式插件依赖。 另一个Grails项目安装了我的自定义插件和相同的lesscss-resources插件。

单独运行插件时,所有css文件和较少的文件都会正确合并到一个css文件中。

运行其他Grails项目时,只合并了css文件 - 但是较少的文件链接不变,因为这样的文件较少: <link href="/myproject/css/mystyle.less" type="text/css" rel="stylesheet/less" media="screen, projection" />。 但是,项目中的资源较少合并。

插件的资源不应该合并吗?如果没有,是否有解决方法?我很高兴有任何想法如何解决这个问题 - 我不知道在哪里寻找问题的根本原因....非常感谢。

顺便说一句,我不是在谈论这里描述的问题:https://github.com/paulfairless/grails-lesscss-resources/issues/25。我已经偶然发现了这个,并添加了dummy.css,这对我来说很好。

插件和项目中安装的相关插件:

  • runtime“:cache-headers:1.1.5”
  • runtime“:cached-resources:1.0”
  • runtime“:lesscss-resources:1.3.0.3”
  • runtime“:资源:1.1.6”
  • runtime“:zipped-resources:1.0”

修改 仅供参考:与此同时,我进行了一些测试,并用最少量的代码重现了这个问题。由于这似乎对lesscss-resources插件非常具体,我在https://github.com/paulfairless/grails-lesscss-resources/issues/36提出了一个问题

我将使用可能在那里弹出的任何信息更新此问题。如果有人有想法,我仍然很乐意听到它,我已经上传了代码量最少的项目和插件: http://www.2shared.com/file/4OM-RVC6/lesstest.html


编辑2: 我还没有收到回复,但至少找到了适用于我的用例的解决方法。 不幸的是,它涉及更改lesscss-plugin的代码。请参阅https://github.com/paulfairless/grails-lesscss-resources/issues/36#issuecomment-8721813

上的评论

1 个答案:

答案 0 :(得分:0)

由于上述问题仍未得到反馈,我现在将解决方法添加为答案。

我通过将resourceMappers.LesscssResourceMapper复制到我的插件项目(即覆盖lesscss-resources插件的默认行为)并更改第24行来实现它的工作

File input = originalFile

而不是

File input = getOriginalFileSystemFile(resource.sourceUrl);

这样,一切都适合我。据我所知,这种变化不会产生任何副作用。