【问题标题】:Polymer 2.0 webcomponents-loader.js is missing Edge polyfillPolymer 2.0 webcomponents-loader.js 缺少 Edge polyfill
【发布时间】:2017-11-29 09:12:53
【问题描述】:

我们目前将一个项目从 Polymer 1 更新为 Polymer 2/ 混合版本。

我知道 webcomponents-hi-sd-ce.js 是边缘的 polyfill。 在 Microsoft Edge 上测试页面时,我现在收到一条错误消息,指出找不到 webcomponents-hi-sd-ce.js.map (404)。 使用 webcomponents-lite.js 加载项目时出现同样的错误

我找不到类似的案例,所以我认为这可能是 Polymer 2 中的一个问题。我尝试自己直接导入脚本,但这也无济于事。

如果有人可以在这里帮助我或分享他遇到类似问题的经验,我将不胜感激。

Edge v.38 的确切错误: HTTP500 + 由于某种原因,文件路径显示不正确,即使它实际上就在我的文件夹中。 https://..../bower_components/webcomponentsjs%20[synthetic:util/global]

【问题讨论】:

    标签: javascript polymer microsoft-edge polyfills polymer-2.x


    【解决方案1】:

    调试loader,发现如下问题:

    对于每个缺少的原生平台功能(由加载程序确定),一个首字母缩写词将附加到 polyfill URL。 不幸的是,对于某些功能组合(例如 MS Edge),生成的路径不可用。

    这可能已经同时解决了,但我已经转而只使用 webcomponents-lite(因为我们支持 Edge)。

    【讨论】:

    • 我自己还没有检查,但我会接受这个答案。如果其他用户遇到同样的问题,可以扩展此讨论
    【解决方案2】:

    webcomponentsjs(版本 ~1.0)似乎存在问题,适用于 webcomponents-loader 和 webcomponents-lite。每当您在关闭 F12-Tools 的情况下加载应用程序时,它都应该可以工作。

    详情请参阅https://github.com/PolymerElements/polymer-starter-kit/issues/1025,尤其是 7 月 27 日的评论。

    【讨论】:

    • 感谢您的链接。不幸的是,直到一个问题。现在我已经在我的应用中添加了功能检测来禁用边缘的某些部分。
    • 是的,我也有同样的问题;它有效地阻止了我升级到 Polymer 2。
    【解决方案3】:

    你应该像这样使用webcomponents-loader

    <!-- Load polyfills; note that "loader" will load these async -->
    <script src="bower_components/webcomponentsjs/webcomponents-loader.js"></script>
    

    缺少的地图文件实际上应该没有问题,因为它“只是”在调试时用于查看“可读”代码而不是压缩版本。

    还取决于您的 Edge 版本,您可能需要使用 polymer build 将代码转换为 es5。

    【讨论】:

    • 所以我发现 Polymer 构建不会将带有 .map 的 webcomponet 文件复制到我未捆绑的文件夹中。但是,即使我手动执行 Edge v.38 也不会找到它。我更新了我的答案并添加了确切的错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2019-01-24
    相关资源
    最近更新 更多