# Commonjs模塊化教程
## 基本語法
```
1. 定義暴露模塊:
module.exports = value;
exports.xxx = value;
2. 引入模塊:
var module = require(模塊名或模塊路徑);
```
## 創建項目結構
```
|-modules
|-module1.js
|-module2.js
|-module3.js
|-app.js
|-package.json
{
"name": "commonJS-node",
"version": "1.0.0"
}
```
## 下載第三方模塊
```
npm install uniq --save
```
### 模塊化編碼
module1.js
```
module.exports = {
foo() {
console.log('moudle1 foo()')
}
}
```
module2.js
```
module.exports = function () {
console.log('module2()')
}
```
module3.js
```
exports.foo = function () {
console.log('module3 foo()')
}
exports.bar = function () {
console.log('module3 bar()')
}
```
app.js
```
"use strict";
//引用模塊
let module1 = require('./modules/module1')
let module2 = require('./modules/module2')
let module3 = require('./modules/module3')
let uniq = require('uniq')
let fs = require('fs')
//使用模塊
module1.foo()
module2()
module3.foo()
module3.bar()
console.log(uniq([1, 3, 1, 4, 3]))
fs.readFile('app.js', function (error, data) {
console.log(data.toString())
})
```
### 通過node運行app.js
```
命令: node app.js
工具: 右鍵-->運行
```