NodeJS的模块系统

这篇博客深入探讨了NodeJS的模块系统,包括为什么使用模块、自定义模块以及模块加载顺序。此外,还介绍了NodeJS的核心模块,如os、util、path、URL和querystring模块的使用方法。接着,讲解了NodeJS的包管理器npm及其常用指令。最后,讨论了NodeJS服务器开发,涵盖http协议、请求和响应的处理。
摘要由CSDN通过智能技术生成

目录

一、NodeJS的模块系统

1.为什么使用模块

 2.自定义模块

(1)遵循CommonJS规范,用于服务器端开发,不用考虑非同步方式

(2)exports和module.exports的关系

3.模块的加载顺序

二、NodeJS的核心模块

1.os模块:提供基本的计算机系统操作的方法

(1)使用方式:      const os = require('os')

(2)常用方法

2.util模块:实用工具模块

(1)使用方式:      const util = require('util')

(2)常用方法:

3.path模块:处理和转换文件路径(处理不同平台的路径问题)

(1)使用方式:       const path = require('path')

(2)属性

(3)常用方法

4.URL模块:用于对url的解析和处理

(1)使用方式:

(2)常用方法

5、querystring模块:解析和处理URL中的查询字符串

(1)使用方式:         const querystring = require('querystring')

(2)常用方法:

三、NodeJS的包管理器 ---- npm(Node Package Manager)

1.使用npm安装模块后

2.常用指令:

(1)升级npm:参数-g表示全局安装

(2)安装模块

(3)卸载模块

(4)将npm定向到淘宝镜像

四、NodeJS服务器开发

1.学习服务器开发的目的

2.服务器的主要工作

3.使用Node创建服务器示例

4.http协议:(Hyper Text Transfer Protocol)超文本传输协议

5.关于http请求和响应

 (1)请求消息:客户端向服务器端发送请求时所携带的数据块

 (2)响应消息:服务器端响应客户端请求时所携带的数据块

 (3)客户端向服务器端发送请求的类型

 (4)get请求和post请求的区别

 (5)服务器收到不同请求方式发送的请求时,如何分开处理(服务器如何区分get请求和post请求)通过对请求对象(request)的method属性进行判断,来获取用户的请求方式

 (6)根据客户端的请求地址访问不同的内容,通过对请求对象(request)的URL属性来获取用户的请求地址

 (7)获取请求头信息

(8)响应消息


一、NodeJS的模块系统

1.为什么使用模块

(1)提供代码的使用效率和可读性。将相应的程序封装在模块中

(2)通过模块打包程序不会改变原有的全局作用域

(3)模块可以发布到npm仓库中与他人共享

 2.自定义模块

(1)遵循CommonJS规范,用于服务器端开发,不用考虑非同步方式

A、CommonJS是一套代码规范,目的是为了构建JavaScript在浏览器之外的生态系统(服务器端, 桌面端)

B、CommonJS的主要内容:

a、模块必须通过 module.exports 导出对外的变量或接口

b、通过 require()来导入其他模块的输出到当前模块作用域中(模块一般在文件的顶部导入)。

(2)exports和module.exports的关系

A、exports在模块的文件级别作用域内有效,它在模块被执行前被赋予module.exports的值

B、exports只是对module.exports的一个全局引用

C、使用exports导出的方法返回的是模块函数,可以直接调用

D、使用module.exports导出的方法返回的是一个类,需实例化为对象之后才可以调用

3.模块的加载顺序

(1)从缓存中加载

(2)加载核心模块

(3)加载文件模块

(4)文件夹作为模块

(5)从node_modules目录加载

(6)从全局目录加载

、NodeJS的核心模块

1.os模块:提供基本的计算机系统操作的方法

(1)使用方式:      const os = require('os')

(2)常用方法

type():返回操作系统的类型

platform():返回操作系统的平台

totalmem():返回内存空间

reemem():返回空闲的内存空间

cpus():返回CPU的信息

2.util模块:实用工具模块

(1)使用方式:      const util = require('util')

(2)常用方法:

format():返回格式化的字符串

var str = util.format('%s:%s','西安邮电大学','长安校区')

'%s':称为格式字符串。有多少个%s就对应有多少个输出项

3.path模块:处理和转换文件路径(处理不同平台的路径问题)

(1)使用方式:       const path = require('path')

(2)属性

path.delimiter:提供平台特定的路径分隔符

path.sep:提供平台特定的路径分段分隔符

强调:因为'\'具有转义字符的含义,所以在win32平台下用字符串表示一个路径时,通常使用的路径分段分隔符为'\\'  

'c:\\demo\\code'

(3)常用方法

path.normalize():路径格式化

path.parse(path):返回完整路径的一个对象

4.URL模块:用于对url的解析和处理

(1)使用方式:

const url = require('url') //传统方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值