Как исключить определенные файлы из пакета, управляемого jspm и systemjs?

Например, с Bower я мог бы сделать что-то подобное, чтобы получить только файлы scss (за исключением js):

{
  "dependencies": {
    "bootstrap-sass": "~3.3.5"
  },
  "overrides": {
    "bootstrap-sass": {
      "main": [
        "assets/stylesheets/_bootstrap.scss"
      ]
    }
  }
}

Мне трудно понять, как это сделать с systemjs. в файле config.js, я думаю, но даже читая документы Я не мог понять.

Мой пример использования: во время разработки я загружаю Material angular с помощью systemjs, но я хочу загрузить только js, а не css, которыми я хочу управлять независимо в своем файле scss. Вместо этого systemjs продолжает загружать файл angular-material.css. Я только начал с systemjs и jspm, надеюсь, вы поможете.

NB: моя проблема связана не с процессом сборки или сборки jspm, а со временем разработки с помощью этих инструментов.


person kuus    schedule 11.11.2016    source источник


Ответы (1)


JSPM также поддерживает переопределения. См. https://github.com/jspm/registry/wiki/Configuring-Packages-for-jspm#testing-configuration для параметров конфигурации.

Используя переопределения JSPM, вы можете легко переопределить основной файл, каталоги и файлы, которые вам нужны из модуля.

Обновление Зависимость css определяется в реестре: https://github.com/jspm/registry/blob/974beb8b6520f4c1b3c6373db32ad05da5c82446/package-overrides/github/angular/bower-material%400.4.0.json Его необходимо перезаписать локальным переопределить.

person Oleksii Rudenko    schedule 11.11.2016
comment
Спасибо, Алексей, теперь у меня в package.json есть следующий файл "jspm": { "dependencies": { "angular-material": "github:angular/bower-material@^1.1.1", }, "overrides": { "github:angular/[email protected]": { "main": "angular-material.js" } } }, но systemjs продолжает загружать файл angular-material.css, есть идеи, как это остановить? - person kuus; 11.11.2016
comment
Если вы посмотрите на ваш package.json, вы увидите, что файл css указан как зависимость от файла angular-material.js. Просто удалите его и снова запустите jspm install. Когда вы устанавливаете пакеты с помощью jspm, вы также должны помнить, что существует общедоступный реестр переопределений для исправления пакетов, которые не предназначены для работы с jspm: github.com/jspm/registry/blob/ - person Oleksii Rudenko; 11.11.2016
comment
ни в моих файлах package.json, ни в моих файлах systemjs.config.js нет никаких ссылок на angular-material.css, я думаю, systemjs просто смотрит на файлы конфигурации пакета angular-material в папке jspm_packages и определяет, что загружать, и что мне сейчас не хватает, так это как переопределить это. - person kuus; 11.11.2016
comment
Я использую бета-версию jspm: gist.github.com/OrKoN/e352ee9ca553e54c8891d4363c10e162 - person Oleksii Rudenko; 11.11.2016
comment
Ах, это совершенно другой package.json, чем мой, я посмотрю завтра, спасибо! - person kuus; 12.11.2016