在Polymer 3.0应用程序中使用Polymer 2.0组件

在Polymer 3.0应用程序中使用Polymer 2.0组件,polymer,web-component,polymer-2.x,polymer-3.x,Polymer,Web Component,Polymer 2.x,Polymer 3.x,目前,我将Polymer 2.0应用程序迁移到Polymer 3.0。但目前可以理解的是,许多组件仍然没有迁移(例如vaadin gid) 如何在迁移的Polymer 3应用程序中使用这些Polymer 2组件?基本上在中添加此代码并删除/bower\u组件/Polymer文件夹 <script type="module"> import {PolymerElement} from '@polymer/polymer/polymer-element.js';

目前,我将Polymer 2.0应用程序迁移到Polymer 3.0。但目前可以理解的是,许多组件仍然没有迁移(例如vaadin gid)


如何在迁移的Polymer 3应用程序中使用这些Polymer 2组件?

基本上在
中添加此代码并删除
/bower\u组件/Polymer
文件夹

<script type="module">
        import {PolymerElement} from '@polymer/polymer/polymer-element.js';

        window.Polymer = {
            Element: PolymerElement
        };

        window.loadElement = function(filename) {
            var l = document.createElement('link');
            l.rel = 'import';
            l.href = filename
            var h = document.getElementsByTagName('head')[0];
            h.parentNode.insertBefore(l, h);
        }
        // Load de main element
        loadElement('/main-poly2.html');
</script>
我写了一个例子:


这是可行的,但聚合物团队没有回答我实施是否正确,但可行的是,我的解决方案是使用聚合物模块化剂将聚合物2.0元件升级为聚合物3.0


[

Vaadin组件(至少网格,请参见)确实有“转换聚合物3兼容版本”可用。示例很糟糕,但我认为主题本身很有趣……我在中写了一个示例:它可以工作,但聚合物团队没有回答我实现是否正确,但工作感谢您的提示,我没有意识到“转换组件"。这至少对我的Vaadin组件有帮助。这不是模块化器的用途吗,如这里所述:?@mishu:是的,你是对的,这就是模块化器的用途。事实上,我已经用它来迁移我的所有组件。但我正在寻找一种解决方案,我不必迁移所有第三方组件,这是一种很好的解决方法,很有效。谢谢!唯一的缺点是您无法管理加载不同依赖项的频率-甚至可能加载不同的聚合物版本。但现在它可以工作了。谢谢!
<script type="module">
        import './poly3-element'

        class MainPoly2 extends Polymer.Element {
            ...
        }
</script>
import {PolymerElement, html} from '/node_modules/@polymer/polymer/polymer-element.js';
loadElement('/poly2-element.html');

class Poly3Element extends PolymerElement {
    ....
}