commjs与ES6模块化实现

CommonJS的模块化实现

​ CommonJS需要nodeJS的依支持。

> aaa.js

```javascript
//CommonJS需要nodeJS支持
var name = '小明'
var age = 22

function sum(num1, num2) {
  return num1 + num2
}
var flag = true
if (flag) {
  console.log(sum(10, 20))
}

// module.exports = {
//   flag : flag,
//   sum : sum
// }
//导出对象
module.exports = {
  flag,
  sum
}
```

使用`module.exports = {}`导出需要的对象。

> mmm.js

```javascript
//导入对象,nodejs语法,需要node支持,从aaa.js取出对象
var {flag,sum} = require("./aaa")

console.log(sum(10,20));

if(flag){
  console.log("flag is true");
}
```

使用 `var {flag,sum} = require("./aaa")`获取已经导出的对象中自己所需要的对象。
## ES6的模块化实现

​ 如何实现模块化,在html中需要使用`type='module'`属性。

```html
  <script src="aaa.js" type="module"></script>
  <script src="bbb.js" type="module"></script>
  <script src="mmm.js" type="module"></script>
```

此时表示aaa.js是一个单独的模块,此模块是有作用域的。如果要使用aaa.js内的变量,需要在aaa.js中先导出变量,再在需要使用的地方导出变量。
posted @ 2021-05-05 10:50  好吗,好  阅读(125)  评论(0)    收藏  举报