如果说chrome 58中webgl2终于release对于大家来说不痛不痒(毕竟大家都在等NXT还有GPUweb),那Chrome 61 release稳定版带来的新特性一定会让你爽翻——Chrome终于支持了es6 import,在不考虑兼容性的情况下,终于可以测试阶段不用webpack和babel了(发布当然还是要打包的,livereload见仁见智吧)。在前端方面,chrome可能会迟到,但绝不会缺席。

       相信大家对于ES6,babel之类都熟的不能再熟了,我也就单刀直入,直接讲浏览器中import的用法。

       在html中script标签中直接使用的时候要注意,需要给script标签加上type="module"属性,比如

<script type="module" src="module.js"></script>
<script type="module">
  // or an inline script
  import {helperMethod} from './providesHelperMethod.js';
  helperMethod();
</script>
// providesHelperMethod.js
export function helperMethod() {
  console.info(`I'm helping!`);
}

       再说一些<script type="module"></script>重要的特性吧

  • module是延迟的,之后document加载完成后才能执行(真棒)
  • importexport 声明必须在最外层(ES6难道就不是吗。。。)
  • 所有代码都在严格模式下执行,相当于自动加上了'use strict';(不能更赞)

       最后添一个各个浏览器对于ES6的支持情况吧

See the Pen Modules High Water Mark table by Sam Thorogood (@samthor) on CodePen.

       Safari 10.1(WebKit2)遥遥领先,100%提前完成了ES6的支持,chrome和Firefox各96%但考虑shadow DOM的支持,算chrome胜出吧。这次微软96%的支持虽然垫底但也比IE时代表现好太多。还是要表扬的。

       今年其实还有一个大变化,就是CSS Level 4,这个chromium支持很勤,但是chrome和webkit就慢得多了,也许是大家习惯了Less,CSS in JS,PostCSS之后,对于CSS的诉求真的不大了吧。