目录
(1)遵循CommonJS规范,用于服务器端开发,不用考虑非同步方式
(1)使用方式: const os = require('os')
(1)使用方式: const util = require('util')
3.path模块:处理和转换文件路径(处理不同平台的路径问题)
(1)使用方式: const path = require('path')
5、querystring模块:解析和处理URL中的查询字符串
(1)使用方式: const querystring = require('querystring')
三、NodeJS的包管理器 ---- npm(Node Package Manager)
4.http协议:(Hyper Text Transfer Protocol)超文本传输协议
(5)服务器收到不同请求方式发送的请求时,如何分开处理(服务器如何区分get请求和post请求)通过对请求对象(request)的method属性进行判断,来获取用户的请求方式
(6)根据客户端的请求地址访问不同的内容,通过对请求对象(request)的URL属性来获取用户的请求地址
一、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') //传统方式