Node.js 模块和包管理器NPM

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,可以显示版本号:

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值