【问题标题】:Grails Resource Plugin vs Asset PipelineGrails 资源插件与资产管道
【发布时间】: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


【解决方案1】:

我真的不认为您的问题有答案,因为您试图引发辩论,而不是专注于您希望解决的给定问题/问题。您遇到了问题,但没有以明确的方式讨论或给出您尝试过的内容,也许其他人可以指导您。

就从资源到资产的变化而言,框架不就是这样工作的吗?事情发生了变化,因此框架继续前进。您仍然可以选择资源。

在资产中,您可以在 application.js 和 css 中定义结构,如果您禁用树,那么它不会加载我认为是您的问题之一的所有内容。

我对该主题进行了谷歌搜索,但不确定您是否遇到以下链接,非常值得一读/查看:

https://www.slideshare.net/AliTanwir/grails-asset-pipeline-plugin

https://objectpartners.com/2015/01/06/grails-cdn-asset-pipeline-plugin-for-improving-web-site-performance/

https://github.com/bertramdev/grails-asset-pipeline/wiki/Why-asset-pipeline-over-grails-resources-plugin

【讨论】:

  • 是的,你可能是对的。没有“答案”。当某些东西比前任“更好”时,我通常会感到“啊啊”。然而,在这种情况下,我觉得这是通常的“这可能会更好,所以让我们重新开始,让每个人都移植他们的东西”。正如您所说“就从资源到资产的变化而言,框架不就是这样工作的吗?事情会发生变化,因此框架会继续前进。您仍然可以选择资源。”虽然我不是真的,因为它不再受支持/开发。必须跟上牛群。无论如何感谢您的回答。
猜你喜欢
  • 2015-03-21
  • 1970-01-01
  • 1970-01-01
  • 2016-02-09
  • 1970-01-01
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
  • 2014-09-21
相关资源
最近更新 更多