代码之家  ›  专栏  ›  技术社区  ›  Merc

运输还是不运输聚合物2应用?

  •  0
  • Merc  · 技术社区  · 8 年前

    我正在写一个聚合物2应用程序。默认情况下,将ES6传输到ES5,以便可以使用ES6语法,并确保它正常工作。

    问题是 每个人 (甚至支持浏览器)可以接收传输的代码。

    两个问题:

    • 有没有简单的方法将特定浏览器重定向到应用程序的非传输版本?

    2 回复  |  直到 8 年前
        1
  •  0
  •   TJ Monserrat    8 年前

    这实际上取决于你想要创建的应用程序的受众。至于我自己的项目,我可以在我的谷歌分析中看到,仍然有一些人通过Safari 8、9甚至IE 11访问它。我不能仅仅告诉他们使用不同的浏览器,因为几个原因。。。主要是财务原因(个人或公司)

    因此,对于我来说,默认情况下仍然是只传输回ES5(假设我现在正在使用Webpack,同时等待脚本类型=“module”稳定下来)。

    至于最简单的方法,他们说,如果使用Polymer CLI的服务功能,它会根据浏览器的功能自动传输代码。

    或者,您可以使用一个简单的javascript代码来尝试检查ES6方法,如果它有效,它将加载捆绑代码的ES6版本。。。如果没有,则加载捆绑代码的ES5版本+custom-elements-ES5-adapter。但这一次性能受到了一些影响,因为在加载必要的文件之前,需要等待解析初始JS脚本以进行检查,而不是立即加载它们(不过我还没有对此进行测试)

    或者,您可以在服务器中检查正在调用的浏览器类型,然后试探性地猜测要发送的版本代码类型。

        2
  •  0
  •   Merc    8 年前

    简单的答案是使用 prpl-server-node 这正是我所说的,还有更多。 明确地:


    差异服务

    现代浏览器提供了很多可以提高性能的功能,但大多数应用程序也需要支持较旧的浏览器。通过使用用户代理标头检测浏览器功能,prpl服务器可以为不同浏览器提供不同版本的应用程序。

    prpl服务器理解构建的概念,构建是针对特定浏览器功能集优化的应用程序变体。