首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >管理jQuery插件

管理jQuery插件
EN

Stack Overflow用户
提问于 2010-07-13 08:23:00
回答 6查看 2.6K关注 0票数 16

通常,在使用jQuery时,需要包含多个插件。这很快就会变得一团糟,特别是当一些插件需要额外的组件(图像和CSS文件)的时候。

下面是一些“推荐”的方法:

  • a.以易于维护的方式管理所需的文件/组件(.js.css和图像),并保持这些插件软件包更新到最新版本

我并不是一定要找一种工具来做这件事(尽管我想,一种可以执行这种管理的工具会很有用),但更多的是一种思考方式。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-07-20 16:09:26

更新:目前有 ,它们会自动为我们处理以下所有事务。

我很惊讶还没有人涵盖我所做的事情。下面是我管理脚本和资源的方法。

我用SVN设置了我工作的每个项目。我所包含的几乎所有脚本都有一个SVN镜像(github现在有svn ),这意味着我可以使用SVN外部变量,将项目的任何分支或版本或我想要的任何内容直接放到项目的scripts文件夹中。由于我们使用的是SVN,因此很容易跟踪、管理和更新这些脚本。

如果项目不在SVN上,那么我只需将其添加到我创建的公共SVN项目中,例如项目A和项目B,都使用jquery-project-not-in-svn,因此我们将jquery-project-not-in-svn放入公共项目的SVN存储库中,然后在项目A和B上使用SVN外部变量来引用它-如前所述。

现在,这涵盖了管理、获取和更新。

下面是我介绍脚本包含和请求的方式。

由于每个项目现在都有自己的脚本目录,其中包含它需要的所有脚本(由SVN外部变量管理),我们现在必须考虑如何最小化它们以减少服务器上的负载。每个项目的根目录中都有一个包含命令updateMakefile。此命令将执行以下操作:

SVN

  • 执行SVN更新(这将更新完成的所有SVN外部文件,它会将所有js文件打包并压缩到scripts/all.jsscripts/all.min.js

我不能分享确切的Makefile,但我可以分享一个公共的,处理CSS和Javascript的打包/合并和缩小。这是链接:http://github.com/balupton/jquery-sparkle/blob/9921fcbf1cbeab7a4f2f875a91cb8548f3f65721/Makefile

通过这些工作,我们实现了:

通过适当的脚本资源的多个projects

  • Updating对外部脚本资源的管理将项目的所有使用的脚本资源放到一个file

  • Minifying文件中,以便只执行一个JS请求和一个
  • 请求。

所以,幸运的是,如果你想了解更多,请随时发表评论。

票数 11
EN

Stack Overflow用户

发布于 2010-07-13 08:33:01

我建议不要更新它们,除非您遇到现有版本的问题,或者您想要使用更新后的插件中提供的新功能。俗话说得好,如果它没有坏,就不要修理它。

票数 2
EN

Stack Overflow用户

发布于 2010-07-20 06:05:50

我个人“推荐”的方式是把我所有的JavaScript文件放在一个include文件夹里,把所有的CSS文件放在另一个文件夹里,把所有的图片放在第三个目录里。我为我的项目编写快捷函数,然后我就可以像使用<?php scriptlink( 'jquery.tooltip' ); ?><?php stylelink( 'jquery.thickbox' ); ?>一样使用它们。每个快捷方式函数都将文件名(仅)作为参数,并输出该资源类型的完整HTML标记,即(按顺序) <script type="text/javascript" src="/includes/js/jquery.tooltip.js"></script><link rel="stylesheet" href="/includes/css/jquery.thickbox.css" />

我遇到的大多数需要图像的jQuery插件都允许在脚本本身或用于调用插件的代码中指定配置变量。样式表可以很容易地包含进来,而不需要修改脚本。

到目前为止,这个方法让我保持了相当的理智,所以我认为它工作得很好。我不会纠结于我把某个插件放在哪里;我只是把它包含在一个函数中。(系统还支持包含目录的子目录,例如,<?php scriptlink( 'ui/accordion' ); ?>等于<script type="text/javascript" src="/includes/js/ui/accordion.js"></script>。)

当然是jquery.plugin.min.js,但我遇到的唯一问题是当插件作者开始发布jquery.plugin.pack.js版本而不是YMMV或相反版本时的升级,因为我实际上必须记住更改我查找的文件名。

(因为我省略了这些简单函数的实现,所以您的版本可能会检查给定文件名的不同变体。如果scriptlink()的参数是jquery.plugin,该函数可能会检查文件系统以查看jquery.plugin.pack.js是否存在,如果不存在,则查找jquery.plugin.min.js,如果不存在,则查找jquery.plugin.js,依此类推。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3233317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档