2014-07-27 123 views
1

我正在用聚合物构建一个应用程序,并且在创建我自己的组件时遇到困难。我正在构建的组件是登录提示。聚合物核心元已经注册

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

<polymer-element name="login-prompt" attributes=""> 

    <template> 
    <paper-input label="Email"></paper-input> 
    <paper-input label="Password" type="password"></paper-input> 
    <paper-button label="Login" affirmative></paper-button> 
    </template> 

    <script> 
    Polymer({}); 
    </script> 
</polymer-element> 

但我进口比一个依赖更多的时刻(在这种情况下paper-buttonpaper-input,我得到这个错误在控制台:

Error: DuplicateDefinitionError: a type with name 'core-meta' is already registered 

这是一个从platform.js过来为什么这个错误出现?文档中的演示完全一样,但它们的行为正常。

编辑:已更新为加载绝对URL,但我仍在获取同样的错误。

+1

如果'core-meta.html'导入两次,则会发生此错误。如果您的应用程序尝试从文件夹以外的任何'../../ bower_components'解析到的文件夹中,就会发生这种情况。导入重复数据删除过滤器仅适用于完整的绝对URL。 –

+0

啊,好的,我会尝试切换到绝对网址。 – Jonah

+0

@ScottMiles尝试过,结果相同:( – Jonah

回答

2

好吧,我想通了。在我的布局文件中,我导入了core-component-page。该文件包含core-meta的定义,以及其他已满足依存关系的其他元素。我不知道我为什么在那里,但我一定想知道什么是core-component-page,以及它为什么存在。

+0

'core-component-page'是一个专门的组件,它实现了一个可配置的应用程序,用于从组件元数据构建一个信息页面,该组件是_vulcanized_(所有依赖项都是连接在里面),使它在没有外部依赖的情况下起作用。聚合物组件带有一个索引html,它加载这个组件以生成一个标准页面(现在是docs)。 –

+0

@ScottMiles好吧,真的清除它。谢谢。 – Jonah