Grails Bootstrap插件找不到Bootstrap资源

时间:2015-10-01 08:33:33

标签: css twitter-bootstrap grails

Grails 2.4.5。我相信我已经正确安装了Twitter Bootstrap-Grails plugin,但我遇到了一些问题。然后我再也不熟悉Asset Pipeline所以我可能错过了一些东西。以下是我采取的一系列确切步骤:

首先,我将以下内容添加到BuildConfig

plugins: {
    // lots of other plugins up here...

    runtime ':twitter-bootstrap:3.3.5'
}

然后我将grails-app/views/layouts/main.gsp修改为:

<!DOCTYPE html>
<html>
<head>
    <title><g:layoutTitle default="Grails"/></title>
    <asset:stylesheet src="application.css"/>
    <g:layoutHead/>
</head>
<body>
    <g:layoutBody/>
    <asset:javascript src="application.js"/>
</body>
</html>

然后我将grails-app/views/index.gsp更改为:

<!DOCTYPE html>
<html>
<head>
    <meta name="layout" content="main">
</head>
<body>
    <nav class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="#">Project name</a>
            </div>
            <div id="navbar" class="collapse navbar-collapse">
                <ul class="nav navbar-nav">
                    <li class="active"><a href="#">Home</a></li>
                    <li><a href="#about">About</a></li>
                    <li><a href="#contact">Contact</a></li>
                </ul>
            </div><!--/.nav-collapse -->
        </div>
    </nav>
</body>
</html>

然后在命令行上我跑了:

grails clean
grails refresh-dependencies
grails run-app

该应用程序启动很好,但是当我打开浏览器并转到http://localhost:8080/myappindex.gsp)时,很明显没有任何样式应用于任何文本(它都是明白的)看着)。很明显,Grails没有找到Bootstrap JS / CSS资源。

关于为什么的任何想法?!?

1 个答案:

答案 0 :(得分:1)

您的模板必须包含对布局文件的引用,如下所示:

<html>
    <head>
         <meta name="layout" content="main">
    </head>
    <body>
    </body>
</html>

grails-app / assets / javascripts / application.css应该只包含:

/*
*= require bootstrap
*/

和grails-app / assets / javascripts / application.js应包含:

//= require bootstrap

这是为了使资产管道实际包含文件。删除对Grails默认样式的引用,如main.css,errors.css等。