Как правильно загружать полимерные компоненты

У меня вопрос с загрузкой полимерного элемента. Когда я настраиваю свой bower.json Зависимость файла не загружается правильно.

Вот мой файл bower.json:

{
  "name": "Example",
  "description": "Example",
  "version": "1.0.0",
  "license": "https://vaadin.com/license/cvtl-1",
  "authors": [
    "Vaadin Ltd"
  ],
  "dependencies": {
    "iron-flex-layout": "PolymerElements/iron-flex-layout#^2.0.0",
    "iron-form": "PolymerElements/iron-form#^2.0.0",
    "iron-media-query": "PolymerElements/iron-media-query#^2.0.0",
    "polymer": "Polymer/polymer#^2.0.0",
    "webcomponentsjs": "webcomponents/webcomponentsjs#^1.0.0",
    "iron-icon": "^2.0.0",
    "paper-toast": "^2.0.0",
    "vaadin": "vaadin/vaadin#10.0.0-alpha8",
    "vaadin-grid": "vaadin/vaadin-grid#4.1.0-beta1",
    "vaadin-charts": "vaadin/vaadin-charts#6.0.0-alpha10",
    "vaadin-valo-theme": "vaadin/vaadin-valo-theme#2.0.0-alpha5",
    "vaadin-tabs": "^1.0.0",
    "app-layout": "polymerelements/app-layout#2.1.0"
    // "wysiwyg-e" : "^2.1.3"
  },
  "devDependencies": {
    "web-component-tester": "Polymer/web-component-tester#^6.0.0"
  },
  "private": true,
  "resolutions": {
    "vaadin-grid": "4.1.0-beta1",
    "vaadin-charts": "6.0.0-alpha10",
    "vaadin-valo-theme": "2.0.0-alpha5"
  }
}

Мне нужно правильно загрузить app-layout а также wysiwyg-e, Что я сделал не так? Любое предложение?

2 ответа

Решение

Рассматривая другие зависимости, которые вы загружаете из того же каталога, я бы сказал, что путь чувствителен к регистру, и что для app-layout Вы использовали только строчные буквы вместо формата PascalCase, поэтому, возможно, вам следует попробовать:

"app-layout": "PolymerElements/app-layout#2.0.1",

(Я предполагаю, что вы имели в виду 2.0.1 там, а не 2.1.0, так как 2.0.5, кажется, самая последняя версия)

И для wysiwyg-e ты можешь попробовать:

"wysiwyg-e": "miztroh/wysiwyg-e#^2.1.3"

Причиной конфликта версий с таким файлом bower.json является то, что отдельные компоненты Vaadin (vaadin-grid, vaadin-charts и т. д.) фактически включаются дважды: один раз через vaadin/vaadin метапакет и второй раз явно.

Как правило, наличие зависимости от беседки только vaadin метапакета должно быть достаточно:

"dependencies": {
  "iron-flex-layout": "PolymerElements/iron-flex-layout#^2.0.0",
  "iron-form": "PolymerElements/iron-form#^2.0.0",
  "iron-media-query": "PolymerElements/iron-media-query#^2.0.0",
  "polymer": "Polymer/polymer#^2.0.0",
  "webcomponentsjs": "webcomponents/webcomponentsjs#^1.0.0",
  "iron-icon": "^2.0.0",
  "paper-toast": "^2.0.0",
  "vaadin": "vaadin/vaadin#10.0.0-alpha8",
  "wysiwyg-e": "^2.1.3"
},
"devDependencies": {
  "web-component-tester": "Polymer/web-component-tester#^6.0.0"
}

Это потянет соответствующий набор версий vaadin-grid, vaadin-charts и все другие компоненты Vaadin.

Также обратите внимание, что вы, кажется, используете устаревшую версию alpha8. Пожалуйста, рассмотрите возможность обновления до последней бета-версии: vaadin/vaadin#10.0.0-beta8,

В случае, если вам действительно нужно использовать конкретную версию, скажем vaadin-grid, способ сделать это либо не использовать vaadin мета-зависимость вообще, или указать ту ее версию, которая включает в себя желаемую версию vaadin-grid (например vaadin-grid#4.1.0-alpha1 является частью vaadin#10.0.0-alpha5, но нет версии vaadin метапакет, который включает в себя 4.1.0-beta1 версия vaadin-grid).

Другие вопросы по тегам