2

我找不到一个很好的解释来在我的 grails 应用程序中进行设置。我正在使用最新版本的 lessees-resource 插件运行 grails 2,但我找不到有关如何设置它的深入解释。

我在哪里放置较少的文件?

它将被编译成什么?

我应该如何链接到这个编译的源?

如果这是一个简单的问题,我很抱歉,但我根本找不到好的文档。

具体到我需要什么,我有整个 TwitterBootstrap 项目较少的文件。

我使用 Theme.less 通过将所有文件导入此文件并使更改独立于实际项目来覆盖更改,从而使更新引导程序更容易。

/less
  Theme.less
  Bootstrap/ #The entire twitter bootstrap project

如何让 Theme.less 编译以及如何在我的应用程序主布局中引用它

4

2 回答 2

6

ApplicationResources.groovy您必须在文件(<your_project>/grails-app/conf文件夹中)中声明您的资源文件。

它应该看起来像这样:

modules = {
    application {
        resource url:'js/application.js'
    }

    bootstrap {
        dependsOn 'jquery'
        resource url:'js/libs/bootstrap.js'
        resource url:'css/libs/bootstrap.less',attrs:[rel: "stylesheet/less", type:'css']
    }

    yourstyle {
        dependsOn 'bootstrap'
        resource url:'css/theme.less',attrs:[rel: "stylesheet/less", type:'css']
    }
}

请注意,您可以将较少的文件放在web-app文件夹内的任何位置,在此文件中您可以配置它们的位置。

如果您要覆盖 Twitter Bootstrap,您可以做的另一件事是在您的 theme.less 文件的开头导入 bootstrap:

@import "libs/bootstrap.less";

并在ApplicationResources.groovy. 如果你这样做,如果你在项目运行时进行更改,编译更少的文件将需要更长的时间(它必须编译两个更少的文件)。

要在您的布局(即 main.gsp)上使用此模块,请包含以下代码行:

<!doctype html>
    <head>
        ...
        <r:require module="yourstyle"/>
        <r:layoutResources />
    </head>
    <body>
        ...
        <r:layoutResources />
    </body>
</html>

您需要在layoutResources页面中添加两次标签,分别是资源和正文资源(因为您可以声明要在哪里包含资源,默认情况下在body标签末尾)。您可以在http://grails-plugins.github.com/grails-resources/阅读有关 Grails 资源如何工作的更多信息

请注意,“您的风格”已经依赖于“引导程序”,因此您无需将它们都包含在您的布局中。

于 2012-11-10T11:50:52.227 回答
0

less-resources 和 lesscss-resources 目前(2014 年 3 月)都不能使用构建 bootstrap 3.1 所必需的 less 1.6

你可以以同样的方式使用asual-lesscss-resources插件

bootstrap{
    defaultBundle 'bootstrap'
    resource url:[dir: 'less', file: 'bootstrap.less'], attrs:[rel: "stylesheet/less", type:'css']
    resource url: 'js/bootstrap/dropdown.js'
  }
于 2015-03-04T18:09:07.473 回答