(为什么你认为jQuery团队不能或不愿意写出体面的文档?;)
例如,转到http://jqueryui.com/download/all/并下载
MANIFEST
个文件。README.md
个文件,但没有说明档案的布局。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. Gruntfile.js
用于构建jQuery。无论“构建”jQuery意味着什么。tests
目录。ui
的目录,似乎包含所有jQuery UI效果javascripts,也在一个子目录中缩小,以及i18n
子目录,用于那些需要国际化的小部件。themes
的目录。在其中有一个名为base
的子目录,它包含基本主题样式表。此子目录还包含基本主题的images
目录。它还包含几种效果的样式表,例如: jquery.ui.accordion.css
。 这些仅适用于基本主题还是可以应用于任何主题?如果没有,为什么只有它们?(见下文)还有一个minified
子目录,它具有所有样式表的缩小版本。MANIFEST
文件package.json
文件。base
。images
子目录,其中包含与该主题相关联的图像文件,jquery-ui.css
样式表,缩小版本以及jquery.ui.theme.css
。每个主题目录中的jquery-ui.css
与每个目录不同。 你知道这些文件的用途吗?为什么jquery.ui.theme.css
文件中的所有具体更改都没有? 这可能会出现在评论中,所以我会在这里回答。我编写了几个库来帮助在Ruby Rack项目Rack JQueryUI和Rack JQueryUI Themes中部署正确的版本/主题。每次jQuery UI的版本更改我都必须处理这些未记录的档案,这似乎也会改变版本之间的布局/内容。在与jQuery团队交谈时,我没有得到很好的反馈 - 我发现他们对文档感到悲伤,显然不是他们的优先考虑,他们宁愿重命名功能或其他东西 - 所以我宁愿只有一个有用的答案我在这里,这将是一个保持它的好地方(可以这么说)。
我最感兴趣的是关于主题目录的问题,因为这会直接帮助我,但我扩展了问题的范围,因为我相信它会帮助别人,我很好奇。
答案 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.css
是jquery-ui.css
。答案 1 :(得分:1)
jQuery UI决定简化其包(非常),以帮助避免上述混淆。从1.11开始,我们分发 https://github.com/jquery/download.jqueryui.com/pull/214。关于任何新问题,请告诉我们。