我使用的是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,这对我来说很好。
插件和项目中安装的相关插件:
修改 仅供参考:与此同时,我进行了一些测试,并用最少量的代码重现了这个问题。由于这似乎对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
上的评论答案 0 :(得分:0)
由于上述问题仍未得到反馈,我现在将解决方法添加为答案。
我通过将resourceMappers.LesscssResourceMapper复制到我的插件项目(即覆盖lesscss-resources插件的默认行为)并更改第24行来实现它的工作
File input = originalFile
而不是
File input = getOriginalFileSystemFile(resource.sourceUrl);
这样,一切都适合我。据我所知,这种变化不会产生任何副作用。