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/myapp
(index.gsp
)时,很明显没有任何样式应用于任何文本(它都是明白的)看着)。很明显,Grails没有找到Bootstrap JS / CSS资源。
关于为什么的任何想法?!?
答案 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等。