Node.js 模块以及npm包的管理和使用

Node.js模块系统

Node.js的模块系统是将可重用代码封装在各种模块中,减少了应用程序的代码量,模块系统提高了开发效率和代码的可读性,并且模块打包代码的方式不会改变全局作用域,开发人员可以在被载入的模块文件中选择要对外暴露的方法和变量,并且模块可以发布到npm仓库中与他人共享。

Node.js主要用于服务器端编程,无须考虑非同步加载的方式,选择CommonJS规范,按照CommonJS规范要求,模块必须通过module.exports对象导出对外暴露的变量或接口,通过require()方法将其他模块的输出加载到当前模块作用域中。

在Node.js模块系统中,独立的模块有自己的作用域,其变量、方法等都是对其他文件不可见的。

典型的模块可以是一个包含exports对象属性定义的文件,可将exports看作是module.exports的简单引用形式。通过在exports对象上指定额外的属性,可以将方法和对象等添加到模块的根部。例如,创建一个名为hello.js的文件,添加代码来定义模块。

用module.export和exports导出模块的区别是

  • 使用 exports 导出的方法返回的是模块函数,可以直接调用
  • module.exports 导出的方法返回的是一个类,需要new实例化为对象之后才可以调用

模块的工作机制
在这里插入图片描述

Node.js核心模块

os模块

os模块 包含了操作系统的详细信息

const os = require('os');// 导入os模块
console.log('操作系统类型:' + os.type());
console.log('操作系统平台: ' + os.platform());
console.log('系统内存总量:' + os.totalmem() + " 字节");
console.log('空闲内存量:' + os.freemem() + " 字节");
console.log('CPU信息:');
console.log( os.cpus());
操作系统类型:Windows_NT
操作系统平台: win32
系统内存总量:16505966592 字节
空闲内存量:9022722048 字节
CPU信息:
[ { model: 'AMD Ryzen 7 4800H with Radeon Graphics         ',
    speed: 2895,
    times:
     { user: 139234, nice: 0, sys: 222921, idle: 3787859, irq: 85359 } },

util模块

util模块 提供的大部分实用工具可用于应用程序与模块开发

const util = require('util');
console.log(util.inspect(util, { showHidden: true, depth: null }));
util.format('%s:%s', '蓝天白云'); // 返回: 蓝天白云:%s
util.format('%s:%s', '环境优美', '绿水青山', '蓝天白云'); // 返回:环境优美:绿水青山 蓝天白云
util.format(1, 2, 3); // 返回:'1 2 3'

path模块

path模块用于处理解决文件与目录的路径

path相关属性

path.delimiter:提供平台特定的路径分隔符,Windows上是“;”,POSIX上是“:”。
path.sep:提供平台特定的路径分段分隔符。Windows上是“\”,POSIX上是“/”。

path相关方法

path.normalize(path):对路径进行规范化,并解析“..”和“.” 。
path.dirname(path):返回路径的目录名,类似于UNIX中的dirname命令。
path.basename(path[, ext]):返回路径中的最后一部分,可选的ext参数表示文件扩展名。
path.extname(path):返回路径中文件的后缀名,即路径中最后一个“.”之后的部分。
path.parse(path):返回完整路径的一个对象。
path.format(pathObject):从一个对象表示的路径返回一个字符串表示的路径。
path.resolve([...paths]):将一个路径或路径片段的序列解析为一个绝对路径。
path.relative(from, to):返回从参数from到to的相对路径(基于当前工作目录)。
path.join([...paths]):使用平台特定的分隔符将路径片段序列连接到一起,并规范生成的路径。
path.isAbsolute(path):判定路径是否为一个绝对路径。

url模块

url模块 提供了一些实用方法,用于URL处理与解析

url模块的两套API
1.Node.js特有的API(传统的URL API)主要用于兼容已有应用程序。

const url = require('url');
const myURL = url.parse('https://user:pass@sub.host.com:8080/p/a/t/h?query=string#hash')

在这里插入图片描述
url地址中的符号:

  • ?:是请求地址与请求参数之间的分隔符
  • &:参数之间的分隔符

2.新的应用程序应使用WHATWG API

const { URL } = require('url');
const myURL = new URL('https://user:pass@sub.host.com:8080/p/a/t/h?query=string#hash');

在这里插入图片描述
相关属性和方法
在这里插入图片描述

querystring模块

querystring模块 主要对URL字符串进行处理和解析

parse方法 将URL查询字符串解析成键值对集合

const {URL,URlSearchParams} = require('url')
const queryString = require('querystring')
const myUrl = new URL('http://localhost:8080/index.html?username=张三&&password=123456')
const str = queryString.parse(myUrl.search.substring(1,myUrl.search.length-1))//parse把字符串转换成键值对
console.log(str)

在这里插入图片描述

stringify方法 将对象(键值对)转换成URL的查询字符串 实际就是parse方法的逆操作

const queryString = require('querystring')
var obj = {
    foo:'bar',
    abc:['xyz','123']
}
var str = queryString.stringify(obj) // stringify把键值对转换成字符串
console.log(str)

在这里插入图片描述

npm包管理器

npm(Node Package Manager)包管理器,npm是整个Node.js社区最流行、支持第三方模块最多的包管理器,npm用来安装、共享和发布代码以及管理项目中的依赖,可以进入npm官网了解更多在这里插入图片描述

npm常用命令

安装本地包 npm install 包名
确定npm安装包的版本 npm install 包名@版本号
升级npm npm install npm -g
-g是安装参数 表示全局安装

查看安装信息
npm list 查看当前目录下已安装的包
npm list -g 查看全局安装

清空npm的本地缓存 npm cache clean

包的更新

npm update 包名 升级当前目录下指定的包
npm update -g 包名 升级全局的包

包的卸载
npm uninstall 包名 卸载dependencies节点下的包 (生产环境)
npm uninstall 包名 --save-dev 卸载devDependencies节点下的包
(开发与测试环境)
npm uninstall -g 包名 卸载全局的包

package.json文件的功能

  • 列出当前项目所依赖的包。
  • 通过语义化版本控制规则指定当前项目所使用的包的版本。
  • 实现可重用的构建,更易于与其他开发人员分享包。
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
使用npm(Node Package Manager)来管理和安装Node.js模块,你可以按照以下步骤进行操作: 1. 确保你已经安装了Node.js。你可以在终端或命令提示符中运行`node -v`来检查Node.js是否已经安装并显示版本号。 2. 在终端或命令提示符中使用以下命令来检查npm是否已经安装并显示版本号:`npm -v`。 3. 如果你还没有安装npm,你可以通过以下方法之一来安装它: - 如果你是使用Node.js的官方安装程序进行安装的,那么npm应该已经含在其中。 - 如果你是通过nvm(Node Version Manager)来管理Node.js版本的,那么npm也应该已经安装。 - 如果以上方法都不适用,你可以从npm官方网站(https://www.npmjs.com/get-npm)下载并安装适合你操作系统的安装程序。 4. 确认安装完成后,你可以在终端或命令提示符中运行`npm init`命令来在你的项目目录下初始化一个新的npm项目。这将会创建一个`package.json`文件,其中含了项目的基本信息以及依赖管理的配置。 5. 一旦你有了`package.json`文件,你可以使用`npm install`命令来安装项目所需的模块。例如,如果你想安装Express框架,你可以运行`npm install express`命令。npm将会自动从npm仓库中下载并安装指定的模块及其依赖。 6. 安装完成后,你可以在你的Node.js代码中使用`require`语句来引入安装的模块。例如,如果你安装了Express框架,你可以在代码中添加`const express = require('express');`来引入Express模块。 这些是使用npm管理和安装Node.js模块的基本步骤。你还可以使用其他npm命令来进行更多操作,例如更新已安装的模块、卸载模块等。你可以通过运行`npm help`命令来查看npm的帮助文档,了解更多关于npm使用方法和命令。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值