gpt4 book ai didi

polymer - 使用纸张输入时,Polymer 3.0未捕获的DOM异常

转载 作者:行者123 更新时间:2023-12-04 13:25:40 25 4
gpt4 key购买 nike

使用paper-input时,导入将引发以下异常

Uncaught DOMException: Failed to execute 'define' on 'CustomElementRegistry': this name has already been used with this registry.



除了为3.0创建模板并添加导入之外,我没有做任何其他事情。

Google用来更新其旧组件的 迁移工具似乎存在问题。

有人已经整理过了吗?

最佳答案

UPDATE 造成此问题的原因是iron-meta中有两种不同版本的node_modules:./node_modules/@polymer/iron-meta中的3.0.0-pre.18中的旧版本(已与Polymer Starter Kit一起安装),以及新版本(3.0.0-pre.19)作为新安装的@polymer/paper-input的依赖项。

该修复程序最近记录在Polymer Blog中-即删除package-lock.json并重新安装node_modules:

rm -rf node_modules package-lock.json
npm install

错误的堆栈跟踪(如下)似乎表明铁元元正以某种方式被注册两次:
polymer-fn.js:43 Uncaught (in promise) DOMException: Failed to execute 'define' on 'CustomElementRegistry': this name has already been used with this registry
at Polymer (http://127.0.0.1:8081/node_modules/@polymer/polymer/lib/legacy/polymer-fn.js:43:18)
at http://127.0.0.1:8081/node_modules/@polymer/iron-input/node_modules/@polymer/iron-meta/iron-meta.js:131:1

一种解决方法是将 customElements.define修补为仅在尚未定义该元素的情况下运行:

const _customElementsDefine = window.customElements.define;
window.customElements.define = function(name, clazz, config) {
if (!customElements.get(name)) {
_customElementsDefine.call(window.customElements, name, clazz, config);
}
};

在导入任何元素定义之前运行此命令。我确认此功能适用于macOS High Sierra Chrome 66上最新版本的 paper-input

链接您创建的问题以供引用: PolymerElements/paper-input Issue #652

关于polymer - 使用纸张输入时,Polymer 3.0未捕获的DOM异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50355644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com