2017-01-29 20 views
0

Я новичок в Polymer, и я пытаюсь положить <paper-button> на свою страницу. Этот проект основан на наборе Polymer Starter Kit. Когда я пытаюсь использовать элемент <paper-button>, я получаю сообщение об ошибке в консоли, в которой говорится, что имя уже зарегистрировано. Я не знаю, почему это сказано. Я использую только ссылку paper-button.html один раз. Ошибка:Полимерный элемент уже зарегистрировал ошибку для бумажной кнопки

Uncaught NotSupportedError: Failed to execute 'registerElement' on 'Document': Registration failed for type 'dom-module'. A type with that name is already registered. 

Ниже приведен код, который генерирует эту ошибку

<link rel="import" href="../bower_components/polymer/polymer.html"> 
<link rel="import" href="/src/bower_components/paper-button/paper-button.html"> 
<link rel="import" href="shared-styles.html"> 

<dom-module id="my-view1"> 
    <template> 
    <style include="shared-styles"> 
     :host { 
     display: block; 

     padding: 10px; 
     } 

     h1 { 
     text-align: center; 
     } 
    </style> 

    <div class="card"> 
     <!-- <div class="circle">1</div> --> 
     <h1>Gas vs. Electric Car Calculator</h1> 
     <paper-button>$20,000</paper-button> 
    </div> 
    </template> 

    <script> 
    Polymer({ 
     is: 'my-view1', 
    }); 
    </script> 
</dom-module> 

Вот ссылка в хранилище GitHub с кодом, а также: https://github.com/Renniesb/paper-test. Чтобы проверить код, его можно загрузить и запустить: npm install и bower install.

ответ

3

Ваш HTML import for paper-button указывает на несуществующий путь:

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

Ваш bower_components находятся в корневой директории проекта, а не под src/. Импорт должен быть:

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

Кроме того, ваш bower.json отсутствует зависимость от paper-button. Вы можете добавить его с:

bower install --save PolymerElements/paper-button 

Как обнаружено в чате, вы используете Chrome 41, который довольно старый. Я не уверен, что совместимость с этой версией Chrome. Я рекомендую обновить.

Я подтвердил, что мои предложения работают (как в <paper-button> правильно отображается на странице) в Chrome 55, macOS Sierra.