面向未来的ES6模块标准

介绍:

既然模块化开发的呼声这么高,作为官方的ECMA必然要有所行动,js模块很早就列入草案,终于在2015年6月份发布了ES6正式版。然而,可能由于所涉及的技术还未成熟,ES6移除了关于模块如何加载/执行的内容,只保留了定义、引入模块的语法。所以说现在的ES6 Module还只是个雏形,半成品都算不上。但是这并不妨碍我们先窥探一下ES6模块标准。

使用:

定义一个模块不需要专门的工作,因为一个模块的作用就是对外提供API,所以只需用exoprt导出就可以了:

//方式一, a.js
export var a = 1;
export var obj = {name: 'abc', age: 20};
export function run(){....}
//方式二, b.js
var a = 1;
var obj = {name: 'abc', age: 20};
function run(){....}
export {a, obj, run}

使用模块的时候用import关键字,在花括号中指明需使用的API,并且可以用as指定别名。如:

import {run as go} from  'a'
run()

如果想要使用模块中的全部API,也可以不必把每个都列一遍,使用module关键字可以全部引入,用法:

module foo from 'a'
console.log(foo.obj);
a.run();

 

posted @ 2021-07-29 18:32  前端李淳罡  阅读(61)  评论(0)    收藏  举报