我找不到一个很好的解释来在我的 grails 应用程序中进行设置。我正在使用最新版本的 lessees-resource 插件运行 grails 2,但我找不到有关如何设置它的深入解释。
我应该把 less 文件放在哪里?
它将被编译成什么?
我应该如何链接到这个编译源?
如果这是一个简单的问题,我很抱歉,但我根本无法找到关于此的良好文档。
为了具体说明我的需要,我有整个 TwitterBootstrap 项目的较少文件。
我使用 Theme.less 来覆盖更改,方法是将所有文件导入到此文件中,并使更改独立于实际项目,以便更轻松地更新 Bootstrap 。
/less
Theme.less
Bootstrap/ #The entire twitter bootstrap project
如何编译 Theme.less 以及如何在应用程序主布局中引用它
最佳答案
您必须在 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']
}
}
请注意,您可以将 less 文件放在 web-app
内的任意位置。文件夹,在此文件中您可以配置它们的位置。
如果您要覆盖 Twitter Bootstrap,您可以做的另一件事是在 theme.less 文件的开头导入 bootstrap:
@import "libs/bootstrap.less";
并删除 ApplicationResources.groovy
中的此资源声明。如果这样做,如果在项目运行时进行更改,编译 less 文件将花费更长的时间(它必须编译两个 less 文件)。
要在布局(即 main.gsp)上使用此模块,请包含以下代码行:
<!doctype html>
<head>
...
<r:require module="yourstyle"/>
<r:layoutResources />
</head>
<body>
...
<r:layoutResources />
</body>
</html>
您需要添加layoutResources
在您的页面上标记两次,分别用于资源和正文结尾资源(因为您可以声明要在何处包含资源,默认情况下位于 body
标记的末尾)。您可以阅读有关 Grails 资源如何工作的更多信息:http://grails-plugins.github.com/grails-resources/
请注意,“您的样式”已经依赖于“bootstrap”,因此您无需将它们都包含在布局中。
关于grails - 将 LESS 与 grails 一起使用 lesscss-resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319270/