2015-10-01 39 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應該只包含:/ * * =需要引導程序 */ –