ES6的模块化(export导出)
ES6 Module把一个文件当作一个模块,每个模块有自己的独立作用域,那如何把每个模块联系起来呢?核心点就是模块的导入(import)与导出(export)。
模块化的好处:
- 防止命名冲突
- 代码复用
- 高维护性
暴露也就是导出(export)有三种方式:1.分别暴露 2.统一暴露 3.默认暴露
分别暴露:在需要暴露的变量或者方法前面加上export关键字,我们新建一个m1.js文件写上如下代码
1 //分别暴露 2 export let team='RNG' 3 4 export function play(){ 5 console.log('this is a team of LPL') 6 } 7 8 function own(){ 9 console.log('不想被暴露'); 10 }
这个时候再在页面上对这个文件进行引入,同样新建一个页面 main.html,通过import关键字进行引入
1
同理书写统一暴露m2.js代码如下:
1 // 统一暴露 2 let name = 'IG' 3 function discription() { 4 console.log('we are the champion'); 5 } 6 7 //以对象的形式进行暴露 8 export { 9 name, 10 // 并且可以通过as取一个别名 11 discription as dis 12 }
引入m2.js的方法不变
1
最后默认暴露(暴露一个default对象)
1 // 默认暴露 2 export default { 3 name: 'EDG', 4 say() { 5 console.log('it is a good team'); 6 } 7 }
1