- 在node中,一个js文件就是一个模块;
- 在node中,通过require()函数来引入外部模块;require()可以传递一个文件路径作为参数,node会自动根据该路径来引入外部模块;对于路径,如果使用相对路径,必须以.或..开头;使用require()引入模块以后,该函数会返回一个对象,这个对象代表的是引入的模块;
- 在node中,模块分为两大类:一类是核心模块,由node引擎提供,其标识为模块的名字;另一类是文件模块,由用户自己所创建,其标识为文件的路径名(可以是绝对路径,也可以是相对路径);无论是核心模块还是用户模块,我们都可以通过require('模块标识')函数来找到对应的模块并加载;
- 在node中有一个全局对象global,它的作用和网页中的window类似,在全局中创建的变量都会作为global的属性保存,在全局中创建的函数都会作为global的方法保存;
- 当node执行模块中的代码时,会使用一个函数将模块中的代码包裹起来然后再执行的,因此模块中使用var声明的变量全部都是局部变量;并且在函数执行时,传递进了5个实参:
- exports => 用来将模块中的变量或函数暴露给外部;
- require => 用来引入外部模块;
- module => 代表当前模块本身,exports为module的属性;
- __filename => 表示当前模块的完整路径;
- __dirname => 表示当前模块所在文件夹的完整目录;
- exports和module.exports的区别:exports只能通过.的方式向外暴露内部变量,而module.exports既能通过.的方式向外暴露内部变量,也能通过直接赋值一个对象的方式向外暴露内部变量;
- npm常用命令:
- npm -v => 查看npm的版本
- npm version => 查看所有模块的版本
- npm search 包名 => 搜索包
- npm install / i 包名 => 安装包
- npm install 包名 --save => 安装包并添加到依赖中
- npm install => 下载当前项目所依赖的包
- npm install 包名 -g => 全局安装包,一般为系统工具包
- npm remove 包名 => 删除包
网友评论