CSS @import语句

3

我目前正在使用Initializr生成的Bootstrap增强版HTML5 Boilerplate,其中还包括LESS框架。

现在style.less被以下行包含:

<link rel="stylesheet/less" href="${resource(dir: 'less', file: 'style.less') }">

这个方法是可行的,但是@import('bootstrap/bootstrap.less')这行代码会失败,因为它找不到位于/static/less/bootstrap/bootstrap.less路径下的bootstrap.less文件。然而,该文件在去掉static部分后是可用的。
有没有什么方式可以告诉Grails将文件(无论其类型)放入正确的目录static中,以便在GSP页面中直接引用?
我在这个问题上发现了一个问题:http://jira.grails.org/browse/GPRESOURCES-135 - 这告诉我,这个问题已经在版本1.2中修复了,而我目前使用的是2.0.2版本。
我需要做什么才能使其正常工作?

1
请注意,您所提到的版本1.2是指插件的版本。最新的插件版本是1.1.6,因此修复尚未实施,至少在发布的版本中还没有。 - chrislatimer
1个回答

3

我安装了lesscss-resources插件,该插件可以预编译LESS文件。这样,我也可以使用@import语句。

我已经在ApplicationConfig.groovy中将我的核心样式表定义为一个模块。

modules = {

    // ...

    sitecore {      
        dependsOn 'jquery'

        resource url:'less/style.less', attrs:[rel: "stylesheet/less", type:'css'], bundle:'bundle_sitecore'
        resource url:'js/main.js'
    }

通过这样做,我可以使用Grails的资源插件来引用它:
<r:require module="sitecore" />

你找到了让插件处理导入文件更改的方法吗?目前我必须重新启动Grails才能使它们生效。 - Chris Prior
很长一段时间没有使用Grails了,恐怕我无法帮助你解决这个问题。 - Sebastian Wramba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接