Skip to content

Commit ebaad52

Browse files
committed
4.模块
1 parent bd38371 commit ebaad52

File tree

3 files changed

+91
-0
lines changed

3 files changed

+91
-0
lines changed

Diff for: README.md

+53
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,57 @@ callFunction(function (name) {
168168
}, 'able')
169169
```
170170

171+
## 4.模块
172+
173+
- module 对象
174+
- 每个文件都被视为独立的模块
175+
- 每个模块中,module 指向表示当前模块的对象的引用
176+
- module 实际上不是全局的,而是每个模块本地的
177+
- module.exports 导出模块内的对象,方便其他对象引用
178+
- require() 引入模块
179+
- 当 Node.js 直接运行一个文件时,require.main 会被设为它的 module
180+
- 可以通过 require.main === module 来判断一个文件是否被直接运行
181+
- module 提供了一个 filename 属性(通常等同于 __filename)
182+
- 可以通过检查 require.main.filename 来获取当前应用程序的入口点
171183

184+
```js
185+
// counter.js
186+
var counter = function (arr) {
187+
return "There are " + arr.length + " elements in array"
188+
}
189+
190+
var adder = function (a, b) {
191+
return `the sum of the 2 numbers is ${a+b}`
192+
}
193+
194+
var pi = 3.14
195+
196+
// 只有一个时可以这样导入
197+
// module.exports = counter
198+
199+
/*
200+
module.exports.counter = counter
201+
module.exports.adder = adder
202+
module.exports.pi = pi
203+
*/
204+
205+
module.exports = {
206+
counter: counter,
207+
adder: adder,
208+
pi: pi,
209+
}
210+
/* 对象可以简写
211+
module.exports = {
212+
counter,
213+
adder,
214+
pi,
215+
}
216+
*/
217+
218+
//p4.js
219+
var stuff = require('./count')
220+
221+
console.log(stuff.counter(['ruby', 'nodejs', 'react']))
222+
console.log(stuff.adder(3, 2))
223+
console.log(stuff.pi)
224+
```

Diff for: count.js

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
var counter = function (arr) {
2+
return "There are " + arr.length + " elements in array"
3+
}
4+
5+
var adder = function (a, b) {
6+
return `the sum of the 2 numbers is ${a+b}`
7+
}
8+
9+
var pi = 3.14
10+
11+
// 只有一个时可以这样导入
12+
// module.exports = counter
13+
14+
/*
15+
module.exports.counter = counter
16+
module.exports.adder = adder
17+
module.exports.pi = pi
18+
*/
19+
20+
module.exports = {
21+
counter: counter,
22+
adder: adder,
23+
pi: pi,
24+
}
25+
/* 对象可以简写
26+
module.exports = {
27+
counter,
28+
adder,
29+
pi,
30+
}
31+
*/
32+
33+

Diff for: p4.js

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
var stuff = require('./count')
2+
3+
console.log(stuff.counter(['ruby', 'nodejs', 'react']))
4+
console.log(stuff.adder(3, 2))
5+
console.log(stuff.pi)

0 commit comments

Comments
 (0)