1

我正在使用 Grails 2.1.0 和 lesscss-resources 1.3.0.3

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

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

当运行另一个 Grails 项目时,只有 css 文件被合并 - 但 less 文件被链接为 less 文件,如下所示: <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,它对我来说很好用。

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

  • 运行时“:缓存头:1.1.5”
  • 运行时“:缓存资源:1.0”
  • 运行时“:lesscss-resources:1.3.0.3”
  • 运行时“:资源:1.1.6”
  • 运行时“:压缩资源: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的评论

4

1 回答 1

0

由于仍然没有关于上述问题的反馈,我现在添加我的解决方法作为答案。

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

File input = originalFile

代替

File input = getOriginalFileSystemFile(resource.sourceUrl);

这样,一切对我来说都很好。据我所知,这种变化不会产生任何副作用。

于 2012-10-02T12:25:59.300 回答