服务聚合物 es6-bundle、es5-bundle 和有条件的非捆绑版本有哪些选项?
如果可能的话,首选选项是 nginx,所以基本上如何检测 HTTP2 以及是否有好的正则表达式供用户代理检测 es6
最佳答案
我找到了下一个解决方案:
在后端你应该像这样定义 map :
map $cookie_build $assets_suffix {
"" "";
"no" "";
"es6-bundled" "build/es6-bundled/";
"es6-unbundled" "build/es6-unbundled/";
"es5-bundled" "build/es5-bundled/";
}
聚合物的 Assets 位置定义如下
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。
关于polymer-2.x - 有条件地提供聚合物束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45374473/