File tree 3 files changed +91
-0
lines changed
3 files changed +91
-0
lines changed Original file line number Diff line number Diff line change @@ -168,4 +168,57 @@ callFunction(function (name) {
168
168
}, ' able' )
169
169
```
170
170
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 来获取当前应用程序的入口点
171
183
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
+ ```
Original file line number Diff line number Diff line change
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
+
Original file line number Diff line number Diff line change
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 )
You can’t perform that action at this time.
0 commit comments