有条件地服务聚合物 es6 束、es5 束和非捆绑版本有哪些选项?
如果可能的话,首选选项是nginx,所以基本上如何检测HTTP2以及是否有良好的正则表达式供用户代理检测es6
我找到了下一个解决方案:
在后端,您应该像这样定义映射:
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 或任何其他功能检测*库 然后你应该设置相应的cookie并调用window.location.reload(true)
。
就我而言,我有一个基于 cms 的单独登录页面,因此浏览器检测在其上处理,当用户点击应用程序时,已经设置了相应的 cookie。