-
node执行脚本文件,可以省略脚本文件的后缀名。
-
node 指令一次只能执行一个脚本文件,执行多个脚本文件,也只会让第一个脚本文件生效,并不会支持多个脚本在线同时运行。
-
require()是一个方法,它的作用是用来加载文件模块并且执行其中的代码,在node中,模块分为三种:一种是具名的核心模块,例如有fs,http等。另一种是用户自己编写的文件模块,相对路径必须加./。最后一种是。
-
在node中如果想要执行多个JS脚本文件,需要用到require()方法来调用g该模块。(一个.js文件就是一个文件模块)
-
Node中没有全局作用域,只有模块作用域(即文件作用域),只在当前这个脚本文件有效,出了这个脚本文件或者是超出当前这个文件范围定义的变量或者方法function都不管用。
同名变量并不会被后者覆盖。
外部访问不到内部的方法,内部也无法访问外部的方法,避免相互彼此被污染。
-
由于模块作用域的存在,默认造成文件模块之间都是相互独立的,你不能访问我,我也不能访问你,造成了模块彼此老死不相往来的局面,我们应如何让模块和模块之间可以互相通信,允许一方访问另一方其下的成员方法或属性呢?
-
require()方法,除了用来加载某个模块外,还可以拿到当前加载进来的文件模块导出的接口对象,因为在每个文件模块中都提供了一个exports对象,这个exports对象它是用来将某个方法或变量暴露(导出)出去。
-
exports默认是一个空对象。
-
我们得知了exports默认是一个空对象,意味着我们可以动态地为这个exports对象添加一些成员,我们现在要做的便是把所有需要被外部访问到的成员方法或属性挂载到这个exports对象当中,如果没有挂载到exports对象中的方法或变量,外部是无法访问的。


demo2:

demo3:



网友评论