最近在看vue 源码,然后写了一个测试文件 test.html
写了一个 script 标签在浏览器运行发现报错
<script>
export default class Observer { }
</script>
正确写法:
<script type='module'>
export default class Observer {}
</script>
原因:
export default 这个是es6的写法目前有些浏览器不兼容,需要声明告诉浏览器如何执行
必须要加入 module 属性,告诉浏览器这是一个ES6的模块,浏览器对于带有 module 的script标签,都是异步加载,不会造成堵塞浏览器,相当于等到整个界面渲染完成,再执行模块脚本,等同于打开了script标签的defer属性。