一、常见的模块化规范
CommonJS
,AMD
,CMD
, 还有 ES6 的Modules
二、CommonJS初了解
导出
var flag = true;
function sum(num1, num2) {
return num1 + num2
}
module.exprots = {
flag: flag,
sum: sum
}
导入
var {flag, sum} = require('./aaa.js')
三、ES6模块化的导入和导出
ES6 新增了两个关键字
export
(导出) 和inport
(导入)
<body>
<script src="./module1.js"></script>
<script src="./module2.js"></script>
</body>
类似上面正常导入会有命名冲突的问题
加上 type=“modul” 就意味着每个js都是一个单独的模块, 就不会有命名冲突的问题了.
<body>
<script src="./module1.js" type="module"></script>
<script src="./module2.js" type="module"></script>
</body>
而这时会产生一个问题, 每个js都一个模块, 意味着当前模块也不能使用其他模块里面的变量和方法.
此时就需要导出
1. 导出
var flag = true;
function sum(num1, num2) {
return num1 + num2
}
export {
flag, name, sum
}
2. 导入
import { flag, name } from "./module1.js";
if (flag) {
console.log("导出成功"+name);
}
3. 全部导入
import * as module1 from "./module1.js";