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     <script type="module">
2         // 引入模塊化js
3         import * as m1 from './modulesJs/m1.js'
4         // 調用暴露的方法
5         m1.play(); // thi is a team of LPL
6         // m1.own() // 由於未暴露own方法這個地方就會報錯 m1.own is not a function
7         console.log(m1)
8     </script>

同理書寫統一暴露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     <script type='module'>
2         import * as m2 from './modulesJs/m2.js'
3         m2.dis() // we are the champion
4         console.log(m2.name) // IG
5     </script>

最后默認暴露(暴露一個default對象)

1 // 默認暴露
2 export default {
3     name: 'EDG',
4     say() {
5         console.log('it is a good team');
6     }
7 }
1     <script type='module'>
2         import * as m3 from './modulesJs/m3.js'
3         // 默認暴露的模塊JS在調用的時候多了一個default節點
4         m3.default.say() // it is a good team
5         console.log(m3.default.name) // EDG
6     </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM