终于,es6 import
如果说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加载完成后才能执行(真棒)
import
和export
声明必须在最外层(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的诉求真的不大了吧。