昨晚开始学习资产升级插件时遇到了类似的问题。
诀窍是在浏览器中加载 Web 开发者控制台,并在加载时查看输出 -
一切正常吗?可能是加载的顺序不正确:
对于 css:application.css
看看上面然后看看包含文件夹
对于JS:application.js
查看声明,然后遵循文件夹结构 - 更有意义。
简而言之,CSS 应该没问题,但 JS 需要特定的顺序,具体取决于您加载的内容
对于 js 来说
//= require jquery/jquery
//= require bootstrap/bootstrap
//= require angular/angular
//= require angular-route/angular-route
//= require angular-resource/angular-resource.min
//= require angular-table/ng-table
//= require myapp/index
//= require myapp/services
//= require myapp/arrestedDirectives
//= require_tree custom-folder
//= require_tree views
//= require_self
这将按照定义文件的顺序加载,在底部需要树文件夹名称以在这些文件夹中加载通配符(顺序无关紧要)
CSS
*= require mobile
*= require_self
*= require bootstrap
*= require bootstrap-glyphicons
这是定义的顺序
在js中
require_tree custom-userapp
如果我想要一个必须添加的特定顺序,这将加载 custom-userapp 文件夹中的所有内容,没有定义的结构:
//= require custom-userappthis/js1
//= require custom-userappthis/js2
--
E2A:根据我目前的理解对资产的完整解释:
所以在你的 application.js 的顶部它显示:
//= require jquery
//= require_tree .
//= require_self
Self 3类型的declation:
1 require
//=require -- This is a custom file or folder/file
//require folder/file --> [load folder/file.js]
2. require_tree
//require_tree . --> [everything in current folder]
//require_tree folder --> [ this one is wild card in the folder ]
3. require_self -itself - this can contain global declarations
//require_self
现在这是位于 grails-app/assets/javascripts/ 中的主要 application.js
<asset:javascript src="application.js"/>
<asset:stylesheet href="application.css" />
因此,如果您现在转到 grails-app/views/layouts/main.gsp,您会发现 application.js 和 application css 都声明了{如上}。
css 文件格式有点不同,它以 * 开头并遵循上述格式
*= require main
*= require mobile
*= require_self
*/
只要定义了所有内容,就应该通过上述两个application.js和css加载到结束页面上。
如果你想你不能在 js 中定义一些东西需要特定的定义,然后像这样加载另一组调用:
<asset:javascript src="myfolder/application.js"/>
<asset:stylesheet href="myfolder/application.css" />
如果您希望实现相同的资产配置或将 application.js 替换为 jquery-ui.js 并使其加载 jquery-ui.js 物理 js 文件,请遵循上述文件格式。
不确定为什么您需要为一个常见/实用的网站执行此操作,因为只要在主文件中正确声明所有内容,它就可以工作。
我提到了 web 开发者控制台 - 这是 firefox 开发者工具,在主控制台中它显示加载了哪些 url - 如果好的,您将能够识别 css/js 文件和 200 的状态..
我已将 testingarrested 更新到 2.4,因此它已安装 assets stuff :
最终更新:
如果您有几个 CSS 文件,可以说您安装了包含 css/js 的引导文件夹,并且您只希望该 css 文件用于您的整个站点,并且可能还有另一个自定义 css,您可能来自内部的另一个文件夹.js 文件夹。然后删除 stylesheets 文件夹,只在 application.js 中有你的 js 引用
然后在你的 main.gsp 中
<asset:stylesheet href="bootstrap-css/css/bootstrap.css" />
<asset:stylesheet href="customfolder/css/custom.css" />
<asset:javascript src="application.js"/>
我认为这只是对资产的总结接受空白支票