【问题标题】:serving polymer bundles conditionally有条件地提供聚合物束
【发布时间】:2017-07-28 13:11:57
【问题描述】:

服务聚合物 es6-bundle、es5-bundle 和非捆绑版本有条件有哪些选项?

如果可能的话,首选选项是 nginx,所以基本上如何检测 HTTP2 以及用户代理是否有良好的正则表达式来检测 es6

【问题讨论】:

    标签: polymer-2.x serving


    【解决方案1】:

    我找到了下一个解决方案:

    在后端你应该像这样定义地图:

    map $cookie_build $assets_suffix {
        ""    "";
        "no"             "";
        "es6-bundled"    "build/es6-bundled/";
        "es6-unbundled"  "build/es6-unbundled/";
        "es5-bundled"    "build/es5-bundled/";
    }
    

    和聚合物的资产位置定义类似这样的东西

    location /polymer-app/ {
        alias /app/public/frontend/$assets_suffix;
        try_files $uri $uri/ /polymer-app/index.html;
    }
    

    因此,默认情况下,nginx 服务于开发构建,并且当为构建版本定义 cookie 时,它​​会为应用程序的适当构建提供服务。

    在客户端

    您应该检测浏览器功能,例如使用此要点 https://gist.github.com/DaBs/89ccc2ffd1d435efdacff05248514f38 或任何其他 feature-detect-* 库 然后你应该设置相应的cookie并调用window.location.reload(true)

    在我的例子中,我有一个基于 cms 的单独登录页面,因此浏览器检测在其上进行处理,当用户点击应用程序时,相应的 cookie 已经设置。

    【讨论】:

    猜你喜欢
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 2021-08-02
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多