js的模块化机制

ES6模块加载机制与CommonJS模块完全不同。CommonJS模块输出的是一个值的拷贝,而ES6模块输出的是值的引用

ES6模块的运行机制与CommonJS不一样,它遇到模块加载命令import时不会去执行模块,只会生成一个动态的只读引用。等到真的需要用到时,再到模块中取值。也就是说,原始值变了,输入值也会跟着变。因此,ES6模块是动态引用,并且不会缓存值,模块里面的变量绑定其所在的模块。

export default 命令

使用import命令用户需要知道所要加载的变量名和函数名,否则无法加载。可以用export default 命令,为模块指定默认输出。

优点

1.用户不需要知道所要加载的变量名和函数名,import命令可以为引入的模块指定任意名字。

2.import命令后不需要加大括号。一个模块只有一个默认输出,因此export default 命令只能用一次。


你可能感兴趣的:(模块化机制)