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>
CNPM
CNPM是淘寶推出的npmjs.org 鏡像,可代替官方版本。
輸入下面命令安裝:
npm install -g cnpm --registry=https://registry.npm.taobao.org
查看版本:
cnpm -v