Node.js模块可以让文件导入其他 Node.js 文件公开的功能。
一个 Node.js文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。
导出有两种方式。
方式一:使用module.exports导出指定对象
新建一个module1.js文件,导出
const user = { userName: 'admin', password: '123' }; module.exports = user;
新建一个getModule1.js文件,导入
const user = require('./module1'); console.log(user.userName, user.password); //admin 123
方式二:将导出的对象添加为 exports 的属性
新建一个module2.js文件,导出
const user = { userName: 'admin', password: '123' }; exports.user = user; /* 上面也可写成这样: exports.user = { userName: 'admin', password: '123' }; */ exports.age = 22;
新建一个getModule2.js文件,导入
const user = require('./module2').user; const age = require('./module2').age; console.log(user.userName, user.password); //admin 123 console.log(age); //22 //也可以写成这样 const items = require('./module2'); console.log(items.user.userName, items.user.password); //admin 123 console.log(items.age); //22
包
包是在模块基础上更深一步的抽象,将某个独立的功能封装起来,用于发布、更新、依赖管理和版本控制。
最简单的包是一个作为文件夹的模块。
建立一个文件夹person,在里面建立一个文件index.js
class Person{ constructor(name){ this.name = name; } sayName(){ console.log(this.name); } } module.exports = Person;
在person上一层建立一个文件getPerson.js引用包
const Person = require('./Person'); const person = new Person("aa"); person.sayName(); //aa
NPM
NPM是随同NodeJS一起安装的默认包管理工具,通过NPM可以安装、共享、分发代码,管理项目依赖关系。
在cmd命令提示符下输入npm -v,可以显示版本号:
C:\Users\lc>npm -v 6.14.11
安装包分为本地安装和全局安装。
本地安装,安装位置在当前目录的node_modules子目录下(所以输入命令之前先cd切换到项目目录路径)
npm install <package-name>
引用包:
const xx = require('package-name')
全局安装,安装位置可通过 npm root -g 查询,Windows下在“C:\Users\本机用户名\AppData\Roaming\npm\node_modules”
npm install -g <package-name>
更新单个包
npm update <package-name>
npm修改或切换镜像地址
方法一:用代码更改npm的配置文件,将镜像改为淘宝镜像
npm config set registry https://registry.npm.taobao.org
方法二:使用nrm管理registry地址
(1)安装nrm
npm install -g nrm
(2)查看镜像列表
num ls
(3)切换镜像
num use taobao
CNPM
CNPM是淘宝推出的npmjs.org 镜像,可代替官方版本。
输入下面命令安装:
npm install -g cnpm --registry=https://registry.npm.taobao.org
查看版本:
cnpm -v