Node.js 笔记 path、http、url、os、fs 模块

Node.js服务端JavaScript的运行环境 JavaScript本身依赖于浏览器
基于Google的V8引擎,事件驱动I/O服务端JavaScript环境

npm 是node的包管理器,现已集成到node中
菜鸟教程

node 的组成部分

  1. 引入 required 模块

  2. 创建服务器 (类似于 Apache 、Nginx 等 HTTP 服务器)

  3. 接收请求与响应请求

npm使用场景

  • 从NPM服务器下载别人编写的第三方包到本地使用。
  • 从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 将自己编写的包或命令行程序上传到NPM服务器供别人使用。

npm config list

官方教程

项目级 npm 配置: .npmrc

script

prexxx
postxxx
会在运行 npm run xxx 时,自动执行

node_modules

node 的 module 参考了 CommonJS 规范
显著特点 多次加载仅第一次真实运行,之后读取缓存

node 中 可以将 module.exports 简写 exports

区别:module.exports 可以直接赋值;exports 直接赋值就是去效果了(指针被覆盖了)

npx

.bin > 全局 > npm官网 下 运行可执行文件

内置 API

__dirname 在 esm 模式下用不了 可以用 process.cwd() 代替
__filename

process

.pid 进程id
.env 环境变量
.arch 操作系统环境
.argv 执行进程的 命令信息
.memoryUsage 内存信息

.cwd() 工作目录
.exit() 退出进程
.kill(pid) 杀死指定进程

child_process

exec
execFile
spawn
fork 创建子进程

SSR CSR

SSR 优势
首屏提升
SEO 搜索引擎优化

next.js SSR框架 ToC
CSR ToB

node 模块

fs 文件模块

io底层 libuv 实现

方法作用
.access()检查文件是否存在,以及 Node.js 是否有权限访问。
.appendFile()追加数据到文件。如果文件不存在,则创建文件。
.chmod()更改文件(通过传入的文件名指定)的权限。相关方法:fs.lchmod()fs.fchmod()
.chown()更改文件(通过传入的文件名指定)的所有者和群组。相关方法:fs.fchown()fs.lchown()
.close()关闭文件描述符。
.copyFile()拷贝文件
.createReadStream()创建可读的文件流。
.createWriteStream()创建可写的文件流。
.link()新建指向文件的硬链接。
.mkdir()新建文件夹
.mkdtemp()创建临时目录。
.open()设置文件模式。
.readdir()读取目录的内容。
.readFile()读取文件的内容。相关方法:fs.read()
.readlink()读取符号链接的值。
.realpath()相对的文件路径指针(.、…)解析为完整的路径
.rename()重命名文件或文件夹
.rmdir()删除文件夹
.stat()返回文件(通过传入的文件名指定)的状态。相关方法:fs.fstat()fs.lstat()
.symlink()新建文件的符号链接。
.truncate()将传递的文件名标识的文件截断为指定的长度。相关方法:fs.ftruncate()
.unlink()删除文件或符号链接。
.unwatchFile()停止监视文件上的更改。
.utimes()更改文件(通过传入的文件名指定)的时间戳。相关方法:fs.futimes()
.watchFile()开始监视文件上的更改。相关方法:fs.watch()。
.writeFile()将数据写入文件。相关方法:fs.write()

Sync 后缀的方法为同步方法

path 路径模块

  • path.sep 路径分割符 跨平台兼容
  • path.delimiter 路径定界符
方法作用
.basename()返回路径的最后一部分 第二个参数可以过滤掉文件的扩展名
path.posix.basename 不支持 反斜杠路径;.win32 可以支持
.dirname()返回路径的非最后一部分的目录
.extname()返回路径的扩展名部分
.isAbsolute()判断绝对路径
.join()拼接字符串组成新路径
.normalize()尝试计算实际的路径
.parse()解析路径为组成其的片段的对象
root: 根路径
dir: 从根路径开始的文件夹路径
base: 文件名 + 扩展名
name: 文件名
ext: 文件扩展名
.format()parse 的逆向
.relative()返回从第一个路径到第二个路径的相对路径
.resolve()获得相对路径的绝对路径
path.resolve(__dirname, 'index.js') // 转化为绝对路径

os 操作系统模块

os.EOL 行定界符序列 \n \r\n

方法作用
.arch()返回标识底层架构的字符串,例如 arm、x64、arm64
.cpus()返回关于系统上可用的 CPU 的信息
.endianness()根据是使用大端序或小端序编译 Node.js,返回 BE 或 LE
.freemem()返回代表系统中可用内存的字节数
.homedir()返回到当前用户的主目录的路径
.hostname()返回主机名
.loadavg()返回操作系统对平均负载的计算
.networkInterfaces()返回系统上可用的网络接口的详细信息
.platform()返回为 Node.js 编译的平台 操作系统平台
.release()返回标识操作系统版本号的字符串
.tmpdir()返回指定的临时文件夹的路径
.totalmem()返回表示系统中可用的总内存的字节数
.type()标识操作系统
.version()操作系统版本信息
.uptime()返回自上次重新启动以来计算机持续运行的秒数
.userInfo()返回包含当前 username、uid、gid、shell 和 homedir 的对象

http 模块

属性

.METHODS 可列出所有方法
.STATUS_CODES 列出所有状态码 及描述
.globalAgent 指向 Agent 对象的全局实例

方法

http.createServer() 返回 http.Server 类的新实例

http.request() 发送 HTTP 请求到服务器,并创建 http.ClientRequest 类的实例
http.get() http.request() 使用get方法

  • http.Agent
  • http.ClientRequest 当 http.request() 或 http.get() 被调用时,会被创建
  • http.Server
    close() 停止服务器不再接受新的连接。
    listen() 启动 HTTP 服务器并监听连接。
  • http.ServerResponse
  • http.IncomingMessage

url 模块

emitter 事件模块

const EventEmitter = require('events');

util 工具库

util.promisify

crypto 密码模块

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值