Ошибка создания полимерного проекта с помощью входа в Google

Честно говоря, я не уверен, как воспроизвести эту ошибку. Что я знаю, так это то, что где-то в сборке я получаю следующее сообщение:

debug:   accept: ../../../../../../bower_components/google-signin/google-signin.css
error:   Promise rejection: Error: file path is not in root: /bower_components/google-signin/google-signin.css (/path/to/project/root)
error:   Error: file path is not in root: /bower_components/google-signin/google-signin.css (/path/to/project/root)
    at Object.urlFromPath (/usr/lib/node_modules/polymer-cli/node_modules/polymer-build/lib/path-transformers.js:41:15)
    at StreamAnalyzer.getFile (/usr/lib/node_modules/polymer-cli/node_modules/polymer-build/lib/analyzer.js:107:39)
    at StreamResolver.accept (/usr/lib/node_modules/polymer-cli/node_modules/polymer-build/lib/analyzer.js:210:34)
    at FileLoader.request (/usr/lib/node_modules/polymer-cli/node_modules/hydrolysis/lib/loader/file-loader.js:64:27)
    at Vulcan.<anonymous> (/usr/lib/node_modules/polymer-cli/node_modules/vulcanize/lib/vulcan.js:377:26)
    at Array.map (native)
    at Vulcan.inlineCss (/usr/lib/node_modules/polymer-cli/node_modules/vulcanize/lib/vulcan.js:365:33)
    at Vulcan.<anonymous> (/usr/lib/node_modules/polymer-cli/node_modules/vulcanize/lib/vulcan.js:486:21)

Число ../s соответствует глубине корня моего проекта, т. е. абсолютный путь, который он ищет, равен /bower_components/google-signin/google-signin.css. Если я перемещу проект в другой каталог на другую глубину, он соответственно изменится.

Ошибка зависит исключительно от этой строки в моем пользовательском элементе для основного контейнера приложения (т. е. ровно один экземпляр находится в файле index.html и является прямым дочерним элементом <body>):

<link rel="import" href="../../bower_components/google-signin/google-signin.html">

Я закомментировал все варианты использования <google-signin>, но ошибка осталась. Я поместил его на каждую позицию в разделе импорта моего кода. Если я закомментирую эту строку, сборка завершится успешно.

Я создал новый проект с помощью стартового набора и добавил в него элемент <google-signin>. Создание этого проекта завершено. Я скопировал папку bower_components из этого проекта в свою. Сборка все равно не удалась.

В поисках решений я нашел этот ответ в stackoverflow и безрезультатно попробовал.

Я использовал nodejs и bower как из npm, так и из менеджера пакетов моей операционной системы.

Я также должен отметить, что приложение полностью функционально на сервере разработки, например, polymer serve --open.

Я разместил свои bower зависимости ниже. Моя система работает под управлением Arch Linux, и последнее полное обновление системы было вчера. Сборка не работала и до обновления.

{
  "name": "PROJECT_NAME",
  "description": "Web Front-end for PROJECT_NAME",
  "main": "index.html",
  "dependencies": {
    "iron-elements": "PolymerElements/iron-elements#^1.0.10",
    "paper-elements": "PolymerElements/paper-elements#^1.0.7",
    "app-elements": "PolymerElements/app-elements#^0.10.1",
    "google-signin": "GoogleWebComponents/google-signin#^1.3.7"
  },
  "devDependencies": {}
}

Далее, вот полный список импортов, используемых файлом:

<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/font-roboto/roboto.html">
<link rel="import" href="../../bower_components/iron-icons/iron-icons.html">

<link rel="import" href="../../bower_components/google-signin/google-signin.html">

<link rel="import" href="../../bower_components/app-layout/app-drawer-layout/app-drawer-layout.html">
<link rel="import" href="../../bower_components/app-layout/app-drawer/app-drawer.html">

<link rel="import" href="../../bower_components/app-layout/app-header-layout/app-header-layout.html">
<link rel="import" href="../../bower_components/app-layout/app-header/app-header.html">

<link rel="import" href="../../bower_components/app-layout/app-toolbar/app-toolbar.html">

<link rel="import" href="../../bower_components/paper-icon-button/paper-icon-button.html">
<link rel="import" href="../../bower_components/paper-dialog/paper-dialog.html">

person hxtk    schedule 31.12.2016    source источник


Ответы (1)


Мой файл polymer.json не содержал всех необходимых fragments, и это вызывало ошибку.

person hxtk    schedule 04.02.2017