1. 程式人生 > 其它 >32.ES6模組化

32.ES6模組化

ES6模組化

模組化是指將一個大的程式檔案,拆分成許多小的檔案,然後將小檔案組合起來

模組化的好處

模組的有事有以下幾點:
1.防止命名衝突
2.程式碼複用
3.高維護性

模組化規範產品

ES6之間的模組化規範有:
1.CommonJS => NodeJs,Browseify
2.AMD => requireJS
3.CMD => seaJS

ES6模組化語法

模組功能主要由兩個命令構成:export,import
export命令用於規定模組的對外介面
import命令用於輸出(引入)其他模組提供的功能

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script type="module">
// 1.通用的匯入形式
// 引入m1.js模組內容---通用形式
// import * as m1 from "./src/js/m1.js";
// 引入m2.js模組內容---通用形式
// import * as m2 from "./src/js/m2.js";
// 引入m3.js模組內容---通用形式
// import * as m3 from "./src/js/m3.js";
// console.log(m3);
// m3.default.change();

// 2.解構賦值的發形式
// import { school, teach } from "./src/js/m1.js";
// 重名的話可以用as起別名的方式避免重名
// import { school as school2, findJob } from "./src/js/m2.js";
// import { default as m3 } from "./src/js/m3.js";
// console.log(school, teach);
// console.log(school2, findJob);
// console.log(m3);

// 3.簡便形式---只能針對預設暴露
import m3 from "./src/js/m3.js";
console.log(m3);
</script>
</body>
</html>
// m1.js
// 分別暴露
export let school = "麻省理工";

export function teach() {
console.log("我可以教給你開發技能");
}

// m2.js
// 統一暴露
let school = "麻省理工";

function findJob() {
console.log("找工作");
}

export { school, findJob };

// m3.js
// 預設暴露
export default {
school: "麻省理工",

change() {
console.log("改變自己,改變全世界");
},
};