0

我正在使用 firefox 52.3.0 并计划使用 Web 组件(Polymer 3.0)进行开发。我正在寻找适用于 Firefox 的聚合物 3.0 polyfil。

我尝试了 webcomponents-lite.js(部分工作 - 不支持 es5 聚合物)
我尝试了 webcomponents-bundle.js(ddnt 工作)
我什至从@webcomponents 存储库添加了 es5-adapter.js,它们只是不适用于 firefox。它在 Opera 和 Chrome 中工作(不需要 polyfill),但从来没有在 Firefox 上工作。

我知道 youtube 完全建立在聚合物上,我可以在我的 mozila firefox 中很好地访问它(甚至检查元素),这告诉我有一种 polyfil 可以工作。我只是找不到它。

PS:我希望能够将这些polymerElements 与react-js 一起使用,我知道这是可能的,但我还不知道怎么做。有人可以告诉我怎么做吗?

4

2 回答 2

1

好吧,这听起来很奇怪。而且 Opera 不需要任何 polyfill,因为它们已经原生提供了所有标准。

您可以尝试的一件事是制作一个 ES6 Web 组件,并从 Polymer 捆绑中获取 ES5 Web 组件。查看官方文档:https ://www.polymer-project.org/3.0/toolbox/build-for-production#compile

Polymer 3.x 和 Polymer Elements 是用 ES6(也称为 ES2015)编写的。要允许旧版浏览器呈现您的应用程序,请将您的代码编译为 ES5。

当您将代码编译为 ES5 时,Polymer 构建工具会将 custom-elements-es5-adapter.js 填充到您的入口点,以便支持 ES6 的浏览器仍然可以呈现您的 ES5 代码。

于 2018-08-08T09:22:41.013 回答
0

@Binh 帮助了我,并为我指出了正确的方向,这让我得到了如下的 firefox polyfills

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="Template Polymer 3.0 App">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <meta name="theme-color" content="#fff">
  <script src="./node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js" async></script>

是的,只有 webcomponents-loader.js

我希望这对前来寻找的人有所帮助

于 2018-08-08T11:36:09.490 回答