jQuery UI下载 - 存档中的每个目录是什么?

时间:2013-07-05 17:54:59

标签: jquery-ui

(为什么你认为jQuery团队不能或不愿意写出体面的文档?;)

例如,转到http://jqueryui.com/download/all/并下载

  1. jQuery UI 1.10.3 (source, demos, themes, tests)
  2. jQuery UI 1.10.3 Themes
  3. #1

    • MANIFEST个文件。
    • README.md个文件,但没有说明档案的布局。
    • 有几个带有JSON扩展名的文件,例如ui.accordion.jquery.json。它们包含有关特定UI小部件的一些信息。 我不知道这些用途是什么,你知道吗?
    • 名为package.json的文件。它似乎只是一些JSON格式的库信息。 你知道这是为了什么吗?我怀疑它与其他.json文件相关联,但谁知道?
    • 有一个名为external的目录,其中包含javascripts。 你知道这是为了什么吗?
    • jquery-1.9.1.js个文件。没有缩小版本。
    • MIT-LICENSE.txt中的许可证。
    • 一个AUTHORS.txt文件,其中包含贡献者的名称,这些文件在整个存档中重复多次。尽管如此,他们中没有一个能够彻底列出存档中的内容;)
    • demos目录,其中显示的内容为all the demos from the website.
    • README所说的Gruntfile.js用于构建jQuery。无论“构建”jQuery意味着什么。
    • tests目录。
    • 有一个名为ui的目录,似乎包含所有jQuery UI效果javascripts,也在一个子目录中缩小,以及i18n子目录,用于那些需要国际化的小部件。
    • 有一个名为themes的目录。在其中有一个名为base的子目录,它包含基本主题样式表。此子目录还包含基本主题的images目录。它还包含几种效果的样式表,例如: jquery.ui.accordion.css这些仅适用于基本主题还是可以应用于任何主题?如果没有,为什么只有它们?(见下文)还有一个minified子目录,它具有所有样式表的缩小版本。

    #2

    • 存档包含MANIFEST文件
    • 但没有自述文件。
    • AUTHORS文件。
    • 包含有关项目的少量信息的package.json文件。
    • 它有几个主题,但没有base
    • 根目录或每个主题目录中都没有效果/窗口小部件文件。
    • 每个主题目录都包含一个images子目录,其中包含与该主题相关联的图像文件,jquery-ui.css样式表,缩小版本以及jquery.ui.theme.css。每个主题目录中的jquery-ui.css与每个目录不同。 你知道这些文件的用途吗?为什么jquery.ui.theme.css文件中的所有具体更改都没有?

    为什么我需要知道这个?

    这可能会出现在评论中,所以我会在这里回答。我编写了几个库来帮助在Ruby Rack项目Rack JQueryUIRack JQueryUI Themes中部署正确的版本/主题。每次jQuery UI的版本更改我都必须处理这些未记录的档案,这似乎也会改变版本之间的布局/内容。在与jQuery团队交谈时,我没有得到很好的反馈 - 我发现他们对文档感到悲伤,显然不是他们的优先考虑,他们宁愿重命名功能或其他东西 - 所以我宁愿只有一个有用的答案我在这里,这将是一个保持它的好地方(可以这么说)。

    我最感兴趣的是关于主题目录的问题,因为这会直接帮助我,但我扩展了问题的范围,因为我相信它会帮助别人,我很好奇。

2 个答案:

答案 0 :(得分:6)

让我们首先解释一下jQuery UI下载的内容:它们是一整套开发和生产文件。请记住,jQuery UI每天下载超过11,000次(这只是下载构建器的用法)。使用这些下载的方式在用户之间可能有很大差异。这些下载的内容旨在为最多的用户提供服务。值得注意的是,开发包几乎是源存储库的精确副本。

来源,演示,主题,测试

  • MANIFEST:这是一个文件,其中包含zip中每个其他文件的列表以及校验和。很少有用户会关心清单,但对于那些关心的用户,它会提供关键信息。
  • README.md :(请注意,您列出了README.txt):这是jquery-ui git存储库的自述文件。如果您在GitHub上查看项目,它就是您将看到的内容的精确副本。
  • *.json:这些是jQuery Plugin Registry的插件清单文件。这些文件永远不会存储在主分支(或任何其他分支)中,但始终包含在标记中。因为它们提供了有用的信息,所以它们包含在下载中。你可以read more about the manifest file structure
  • package.json:package.json是用于npm / node的标准文件。所有jQuery项目都依赖于节点来进行linting,测试,构建,发布等。这与用于jQuery插件注册表的其他JSON文件完全分开。它们具有非常相似的结构,因为插件清单文件是基于npm设计的。
  • external:此目录包含用于演示和测试的第三方脚本。
  • jquery-1.9.1.js:这是jQuery UI测试的jQuery的最新稳定版本。我们从未在jQuery UI存储库中包含缩小的jQuery版本,因为它们对于调试非常糟糕。
  • MIT-LICENSE.txt:许可证,用于定义下载中可以使用这些文件的条款。
  • AUTHORS.txt:jquery-ui存储库的贡献者列表。这不包括jQuery UI项目其他部分的贡献者,例如我们在各种站点或文档上的工作。
  • demos:所选组件的演示目录(在本例中为所有组件)。演示实际上源自jquery-ui repo,并在发布期间复制到jqueryui.com。
  • Gruntfile.js:我们使用Grunt进行linting,测试和构建。 Grunt是节点的JavaScript任务运行器。构建jQuery UI意味着缩小和连接。
  • tests:所选组件的测试目录(在本例中为所有组件)。
  • ui:源文件的副本,其中@VERSION替换为发行版的版本号。通过将所有源文件连接在一起,在构建期间生成jquery-ui.js文件。通过缩小单个文件,在构建期间生成minified目录。并且通过连接和缩小源文件生成coure jquery-ui.min.js
  • themes:源文件的副本,其中@VERSION替换为发行版的版本号。这经历了与ui目录相同的关于连接和缩小的过程。各个组件文件与主题无关。所以jquery.ui.accordion.css适用于任何主题。这些是与JS文件一起使用的必需CSS文件。您可以构建所需的任何主题,但如果您不使用组件的功能CSS,则无法保证任何工作。完整主题(几乎所有用户实际使用的内容),在单个文件中包含所有功能CSS和主题CSS。

<强>主题

主题由ThemeRoller生成。它们不存在于任何存储库中,因此不包含任何存储库的工件。这就是为什么没有README。

  • MANIFEST:与上面相同,清单包含下载文件的校验和。
  • AUTHORS.txt:jquery-ui的AUTHORS.txt副本。这应该与源下载完全匹配。虽然这不是为主题做出贡献的人员列表,但我们将其视为代码的一部分,并包含相同的作者列表。
  • package.json:jquery-ui的package.json副本。这个文件似乎有点奇怪,因为它不是来自存储库。我们应该删除它。
  • themes:生成主题的目录。这些不包含源变量/标记。基本主题不是生成的主题,因此不包括在内。您会注意到生成的主题也有不同的目录结构。每个主题包含三个文件:jquery.ui.theme.css只是主题CSS;这是可以与基本主题中提供的功能CSS一起使用的内容。 jquery-ui.css是一个完整的主题;它包括主题CSS和功能CSS。 jquery-ui.min.cssjquery-ui.css
  • 的缩小版

答案 1 :(得分:1)

jQuery UI决定简化其包(非常),以帮助避免上述混淆。从1.11开始,我们分发 https://github.com/jquery/download.jqueryui.com/pull/214。关于任何新问题,请告诉我们。