首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聚合物,硫化: prototype.registerCallback不是一个函数

聚合物,硫化: prototype.registerCallback不是一个函数
EN

Stack Overflow用户
提问于 2015-06-16 22:35:29
回答 2查看 400关注 0票数 0

我正在尝试创建一个非常简单的HTML页面与聚合物,其中包括一个HTML文件与所有我需要的组件:

代码语言:javascript
复制
<link rel="import" href="bower_components/iron-ajax/iron-ajax.html">
<link rel="import" href="components/my-element.html">

my-element.html看起来像这样:

代码语言:javascript
复制
<link rel="import" href="../bower_components/polymer/polymer.html">
<polymer-element name="my-element">
  <template>
    // Some HTML
  </template>
  <script>
    Polymer({
        is: 'my-element',
        properties:{
            // properties
        }
    });
  </script>
</polymer-element>

当我按原样运行时,一切都运行得很好。

当我尝试Vulcanize components.html文件,然后打开与Vulcanized版本相同的页面时,我在控制台中得到以下错误

“未捕获TypeError: prototype.registerCallback不是一个函数”

我注意到硫化过程

代码语言:javascript
复制
    Polymer({
        is: 'my-element',
        properties:{
            // properties
        }
    });

转到

代码语言:javascript
复制
    Polymer('my-element', {
        is: 'my-element',
        properties:{
            // properties
        }
    });

这似乎是导致错误的原因,因为window.Polymer只需要一个对象作为参数。

我使用grunt-vulcanize进行实际的硫化,我的配置如下所示:

代码语言:javascript
复制
vulcanize: {
    default: {
        options: {
            excludes: {
              imports: [
                'polymer.html'
              ]
            },
            'strip-excludes': false,
            inline: true,
            strip: true
        },
        files: {
            'build.html': 'components.html'
        },
    },
}

有没有办法阻止这一切?

我使用的是Polymer 1.0和grunt-vulcanize 0.6.4

EN

回答 2

Stack Overflow用户

发布于 2015-06-16 23:27:09

明白了:我在使用<polymer-element>而不是<dom-module><dom-module>对于聚合物1.0是正确的。

这本指南很有用,我花了几天时间才找到,如果只是为了让你知道什么适用于0.5,什么适用于1.0:

https://www.polymer-project.org/1.0/docs/migration.html

票数 0
EN

Stack Overflow用户

发布于 2015-06-17 15:07:54

由于github上的最后一次更新是在2月9日,版本为0.6.4,因此grunt-vulcanize与vulcanize 1.8.1不兼容。这是过时的聚合物0.8+插件。

暂时适用于使用硫化?1.8.1和聚合物1.0的硫化。https://github.com/kgadzinowski/grunt-vulcanize/

只需在package.json中更改:

"grunt-vulcanize":"kgadzinowski/grunt-vulcanize“

它会工作的很好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30870698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档