Как jspm определяет, что скачивать с Github

Я изо всех сил пытался загрузить меньше файлов из Twitter Bootstrap. Согласно документации jspm, они будут загружать zip-файл релиза вместо исходного кода в репозитории. В Twitter Bootstrap этот zip-файл не имеет меньше файлов, поэтому я понимаю, почему я не получаю их, когда делаю что-то вроде:

jspm install github:twbs/[email protected]

Однако, чтобы избежать этого ограничения, я разветвил Twitter Bootstrap, чтобы избежать этих пользовательских файлов выпуска. Когда я захожу в раздел релизов в своем форке и загружаю файл, он выглядит хорошо, но когда я пытаюсь его установить, я получаю те же файлы, что и раньше.

Сделал чистку кеша, создал другую ветку, внес изменения на новой ветке на основе v3.3.4 и т.д. и т.п. Всегда получаю тот же набор файлов v3.3.4 без меньшего количества файлов.

Кто-нибудь знает, как jspm определяет, что загружать, и почему он может загружать файл выпуска в twbs/bootstrap, а не в моем форке?


person dgaviola    schedule 12.05.2015    source источник


Ответы (1)


Это немного поздно, но наткнулся на это при поиске в другой теме. Так что в основном вот сделка.

jspm использует файл package.json. Вы заметите запись под названием «файлы». Когда jspm попадает в репозиторий github/npm, он просматривает этот ключ JSON и определяет, что извлекать.

Это полезно, потому что часто у вас может быть модуль, для разработки которого требуются другие файлы, но вы не хотите или не нуждаетесь в этих файлах при распространении модуля.

Как вы можете видеть ниже, это конфигурация «файлов» в файле bootstrap package.json. У него есть ключ для меньшего количества файлов.

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

Проблема здесь, если хотите, заключается в том, как jspm обрабатывает это популярное репо. Внутри он сопоставляется с некоторыми репозиториями, он сопоставляется с дистрибутивами и в данном случае без начальной загрузки. Вы можете увидеть все записи реестра 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"

Поэтому, если вы хотите, чтобы файлов было меньше, просто запустите:

$ jspm install bootstrap-less

Любой может создать запрос на вытягивание и добавить его в реестр jspm. Вы можете найти реестр по этой ссылке:

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

Надеюсь, это прояснит это для вас.

person origin1tech    schedule 01.07.2015
comment
Файлы sass для альфа-версии bootstrap 4.0 недоступны в репозитории bootstrap-sass. В итоге я пока использовал npm, так как не смог найти решение jspm "git+https://github.com/twbs/bootstrap.git#v4-dev" - person Simon Bengtsson; 01.12.2015