【发布时间】:2017-05-16 07:33:30
【问题描述】:
在发布这个问题之前,我不厌其烦地用谷歌搜索这个问题,但发现我显然是(极端)少数,所以我显然遗漏了一些东西。我已经尝试过不止一次将asset-pipeline Grails 插件合并到我的项目中,但每次我发现自己又回到了资源插件。底线:尽管资产管道插件提供了底层的花里胡哨,但我发现资源插件比“任何事情”资产管道更直观和更具表现力。
对我来说最令人困惑的可能是资源的声明方式。以资源插件为例,我可以如下定义fancybox资源:
'fancybox' {
dependsOn 'jquery'
resource url: '/js/fancybox/jquery.fancybox.css'
resource url: '/js/fancybox/helpers/jquery.fancybox-buttons.css', attrs: [v: '2.1.5']
resource url: '/js/fancybox/jquery.fancybox.js', attrs: [v: '2.1.5']
resource url: '/js/fancybox/helpers/jquery.fancybox-buttons.js', attrs: [v: '2.1.5']
resource url: '/js/fancybox/helpers/jquery.fancybox-media.js', attrs: [v: '2.1.5']
}
那里。简单的。这就是fancybox '包',它依赖于jquery。
但是,对于资产管道,我必须声明一些奇怪的非标准约定,如下所示:
/*
*= require jquery.fancybox
*= require jquery.fancybox-buttons
*/
然后我需要在 application.css 中的某个地方引用该文件,并且就像魔术一样,asset-pipeline 将为我神奇地将它们与一些复杂的逻辑结合起来,我必须继续在文档中查找以提醒我自己( 我什至不知道上述是否正确,因为我永远无法让资产管道为我工作)。但是,我的所有声明都被分解为多个 .css 文件,而不是像 ApplicationResources.groovy 这样的一个不错的一体化位置,而且我不知道还有哪些插件声明了我不知道的其他资产,而使用资源插件,如果不在 ApplicationResources.groovy 中,则不存在。
然而,正如我所说,我没有找到更喜欢资源插件的文章。每个人似乎都在资产管道上“喝了 Kool-Aid”。 我明显缺少哪些魔术师? 看起来更加令人费解和困惑。什么给了?
【问题讨论】:
-
作为一个使用asset-pipeline比资源插件更久的人,我不觉得这个约定比
ApplicationResources.groovy语法更奇怪,你只是习惯了你目前所知道的;这不会使它奇怪。
标签: grails resources asset-pipeline