是否有理由在grails中使用JavaScript库插件,通过TagLibs公开给定的库,而不是直接使用它?

Is there any reason to use JavaScript library plugins in grails that expose the given library via TagLibs instead of just using it directly?

本文关键字:TagLibs grails 有理由 JavaScript 插件 是否 通过      更新时间:2023-09-26

如果您搜索grails插件站点,您会发现许多JQuery和其他JavaScript库的插件。其中大多数都通过Grails taglib公开给定的JavaScript库功能。这真的是一个优势吗?如果是,为什么?

要回答您关于使用taglib暴露JavaScript功能是否有优势的实际问题,我的答案通常是否定的。但你可能会发现,不同意我观点的人和同意我观点的人一样多。特别是那些花时间创建这些标签库的人。

我只是发现直接处理JavaScript比通过标签库要容易得多。我可能会考虑的唯一例外是grails提供的远程标记库,但我个人仍然不使用它们。

就我个人而言,我更喜欢使用JavaScript标记库而不是纯JavaScript。例如,如果您想创建一个提交AJAX请求并使用响应更新DIV的链接,我发现编写

更容易。
<g:remoteLink action="show" id="1" update="myDiv" 
        onLoading="showSpinner();">Click Me</g:remoteLink>

比相应的JavaScript。

如果你已经安装了JQuery插件,并决定用Prototype(例如)替换JQuery,那么上面的标签应该在你用Prototype插件替换JQuery插件后继续工作。这将是不可能的,如果你只是复制。js文件到web-app/js(而不是使用插件)。

最终,如果你使用JS插件,你的应用程序"知道"哪个JS库正在使用。其他插件(如资源)可以利用这些信息。

jQuery只是javascript库的一个扩展。它没有为提供Javascript本身没有提供的新特性。但是,它确实使您的在执行诸如(但不限于)之类的操作时变得更加轻松。

  • Dom操作
  • 树遍历
  • Ajax
  • 和更多

当你只是在这里或那里做一些简单的小事时,这是没有必要的。但通常情况下,当您在做一个大项目时,包含jQuery (31 KB和1个HTTP请求)并充分利用它是有意义的。