现在,在项目中直接部署ES2015+代码吧!

原文链接

与我交流过的绝大多数web开发者,都喜欢使用所有新的语法特性(如async/await,类,箭头函数等)。尽管所有现代浏览器都支持以上的语法,多部分开发者仍然会转译到ES5并且加上polyfill以便支持哪一小部分仍旧使用老版本浏览器的用户。

这...有点糟。在理想的的世界中,是没有不必要的代码!

新版本的JS和DOM接口能让我们选择性地加载polyfill,因为在运行时,我们可以检测浏览器对新特性的支持情况。但是新的JS语法有一点不好,因为无法识别的语法都会造成解析错误,导致没有代码会被执行。

虽然现在并没有对feature-detecting这个语法的好的解决方案,但我们确实有一个方法能做到ES2015语法支持的检测。

这就是

小贴士:可恶的Safari 10并不支持 nomodule属性,不过你可以在HTML前部引入 safari-nomodule.js来解决这一问题。(好在,在Safari 11种他们解决了这个问题,我到都拔出来了)

重要的思考

这多数情况下,这个方法“能用”。但是在使用这一策略前,我们需要了解模块加载的一些细节。

  1. 模块会像

你可能感兴趣的:(性能,es6,javascript)