jspm如何确定从Github下载什么

dga*_*ola 2 twitter-bootstrap jspm

我一直在努力尝试从Twitter Bootstrap下载较少的文件.根据jspm文档,他们将下载发行版的zip文件而不是存储库中的源代码.在Twitter Bootstrap中,zip文件没有更少的文件,所以我理解为什么当我做类似的事情时,我没有得到它们:

jspm install github:twbs/bootstrap@3.3.4
Run Code Online (Sandbox Code Playgroud)

但是,为了避免这种限制,我将Twitter Bootstrap分叉以避免这些自定义发布文件.当我进入我的fork中的发布部分并下载文件时,它看起来不错,但是当我尝试安装它时,我得到了和以前一样的文件.

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

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

ori*_*ech 6

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

jspm利用package.json文件.你会注意到一个名为"files"的条目.当jspm命中github/npm repo时,它将查看此JSON密钥并确定要提取的内容.

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

如下所示,这是bootstrap package.json中的"files"配置.它确实有一个较少文件的密钥.

"files": [
  "dist",
  "fonts",
  "grunt",
  "js/*.js",
  "less/**/*.less",
  "Gruntfile.js",
  "LICENSE"
],
Run Code Online (Sandbox Code Playgroud)

这里的问题,如果你想调用它是jspm如何处理这个流行的回购.在内部,它映射一些repos,它映射到发行版,在这种情况下无需bootstrap.您可以在下面看到所有bootstrap 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"
Run Code Online (Sandbox Code Playgroud)

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

$ jspm install bootstrap-less
Run Code Online (Sandbox Code Playgroud)

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

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

希望能为你解决这个问题.