我正在写一个聚合物2的应用程序。默认情况下,将ES6转换为ES5,这样您就可以使用ES6语法,并确保它能够正常工作。
这方面的问题是,每个人(甚至支持浏览器)都可以接收经过转换的代码。
两个问题:
发布于 2017-10-06 16:08:58
简单的答案是isL使用prpl-服务器节点,它做的正是我所说的,还有更多。具体地说:
差异化服务
现代浏览器提供了改善性能的强大功能,但大多数应用程序也需要支持较旧的浏览器。通过使用用户代理头检测浏览器功能,prpl-服务器可以向不同的浏览器提供不同版本的应用程序。
建房
prpl-服务器理解构建的概念,这是针对特定浏览器功能进行优化的应用程序的变体。
发布于 2017-09-02 04:29:52
这真的取决于你想要创建的应用程序的受众。至于我自己的项目,我可以从我的Google分析中看到,仍然有一些人正在通过Safari 8、9甚至IE 11访问它。我不能仅仅告诉他们使用不同的浏览器,原因有几个.主要是经济原因(个人或公司)
正因为如此,我仍然默认只将文件转接回ES5 (考虑到我现在使用Webpack,而等待脚本type=“模块”稳定下来)。
至于最简单的方法,他们说,如果你使用聚合物-CLI的服务功能,它会根据浏览器的功能自动转换你的代码。
或者您可以使用一个简单的javascript代码来检查一个ES6方法,如果它有效,它将加载捆绑代码的ES6版本.否则,它将加载捆绑代码的ES5版本+自定义元素-ES5-适配器。但是,由于等待解析初始的JS脚本,在加载必要的文件而不是立即加载它们之前,这个脚本会受到一些性能的影响(不过,我还没有测试这一点)
或者,您可以在服务器中签入正在调用的浏览器类型,然后试探性地猜测要发送的版本代码的类型。
至于转接代码开销的性能,这有点小,因为如果您只是在使用Polymer.Element,那么至少可以得到12 at的代码.然后您就可以像30+KB一样显示内容,这已经足够有一个PRPL+50了。
https://stackoverflow.com/questions/46009740
复制相似问题