2015-10-01 23 views
0

Grails 2.4.5在这里。我相信我已经正确安装了Twitter Bootstrap-Grails plugin,但我遇到了一些问题。然后我再也不熟悉Asset Pipeline,所以我可能错过了一些东西。这里有台阶的确切集我拿了:Grails Bootstrap插件没有找到Bootstrap资源

首先,我增加了以下我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

你的模板必须包含布局文件的引用,就像这样:

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

的grails-app /资产/ Java脚本/ application.css应该只包含:

/* 
*= require bootstrap 
*/ 

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

//= require bootstrap 

这是为了让资产管道实际上包括这些文件。删除对像main.css,errors.css等Grails默认样式的引用。

+0

非常感谢@Michael Legart(+1) - 您是否确认我的更改(请参阅上文)是正确的?现在我绝对是在引入造型,但不像我期待的那样。我似乎拉入默认的Grails(灰色和绿色)样式,而我的'index.gsp'代码片段从[Bootrstrap的入门示例]中直接被盗取(http://getbootstrap.com/examples/starter-template/ )。我从插件的文档中注意到,有一段它看起来像我可能需要做类似'// = require bootstrap'的操作,这可能是我要去的地方吗?我从来没有这样做过...... – DirtyMikeAndTheBoys

+0

如果是这样,我到底需要做什么?如果不是的话,还有什么可以在我的端配置错误?再次感谢! – DirtyMikeAndTheBoys

+0

grails-app/assets/javascripts/application.css应该只包含:/ * * =需要引导程序 */ –