2

我一直在努力尝试从 Twitter Bootstrap 下载较少的文件。根据 jspm 文档,他们将下载版本的 zip 文件而不是存储库中的源代码。在 Twitter Bootstrap 中,该 zip 文件没有较少的文件,所以我明白为什么我在执行以下操作时没有得到它们:

jspm install github:twbs/bootstrap@3.3.4

但是,为了避免这种限制,我分叉了 Twitter Bootstrap 以避免那些自定义发布文件。当我去 fork 中的发布部分并下载文件时,它看起来不错,但是当我尝试安装它时,我得到的文件与以前相同。

我做了一个干净的缓存,创建了一个不同的分支,在一个基于 v3.3.4 的新分支上进行了更改,等等等等。我总是得到相同的 v3.3.4 文件集而没有更少的文件。

有谁知道 jspm 如何确定要下载什么以及为什么它可能会下载 twbs/bootstrap 中的发布文件而不是我的 fork 中的那个?

4

1 回答 1

6

这有点晚了,但在搜索另一个主题时偶然发现了这一点。所以基本上这就是交易。

jspm 利用 package.json 文件。您会注意到一个名为“文件”的条目。当 jspm 访问 github/npm 存储库时,它会查看这个 JSON 密钥并确定要拉取的内容。

这很有用,因为通常您可能有一个模块需要其他文件来开发,但在分发模块时您不想要或不需要这些文件。

正如您在下面看到的,这是 bootstrap package.json 中的“文件”配置。它确实有一个用于较少文件的密钥。

"files": [
  "dist",
  "fonts",
  "grunt",
  "js/*.js",
  "less/**/*.less",
  "Gruntfile.js",
  "LICENSE"
],

这里的问题,如果你想称之为 jspm 如何处理这个流行的 repo。在内部,它映射到一些 repos,它映射到发行版,在这种情况下是无引导的。您可以在下面看到所有引导 jspm 注册表项:

"bootstrap": "github:twbs/bootstrap",
"bootstrap-less": "github:distros/bootstrap-less",
"bootstrap-material": "github:fezVrasta/bootstrap-material-design",
"bootstrap-sass": "github:twbs/bootstrap-sass",
"bootstrap-slider": "github:seiyria/bootstrap-slider",
"bootstrap-wizard": "github:gwrey/bootstrap-wizard"

因此,如果您想要更少的文件,您只需运行:

$ jspm install bootstrap-less

任何人都可以创建拉取请求并添加到 jspm 注册表。您可以在此链接中找到注册表:

https://github.com/jspm/registry/blob/master/registry.json

希望能为您解决问题。

于 2015-07-01T17:37:33.533 回答