博客
关于我
Node.js的系统模块
阅读量:787 次
发布时间:2019-03-25

本文共 2442 字,大约阅读时间需要 8 分钟。

Node.js 系统模块

Node.js 中内置了多个功能模块,这些模块为开发者提供了丰富的功能。以下是几个常用的模块及其使用方法。


一、fs 文件模块

文件模块用于读取和写入文件。

1. 引用文件模块

let fs = require('fs');

fs 是 Node.js 内置的文件模块。

2. 读取文件

读取文件默认使用 UTF-8 编码。

fs.readFile('路径', 'utf8', function(err, res) {  if (err === null) {    console.log(res);  }});

3. 写入文件

默认使用 UTF-8 编码,可以自动创建文件孙存在的路径。

fs.writeFile('路径', '内容', function() {});

二、path 路径模块

路径模块用于拼接路径,支持不同操作系统的路径分隔符。

1. 引用路径模块

let path = require('path');

2. 拼接路径

路径拼接时无需自行添加分隔符。

let path = path.join('路径1', '路径2');

3. 绝对路径和相对路径

// 读取当前文件的绝对路径let currentDir = __dirname;// 构建绝对路径let abstPath = path.join(currentDir, './文件名');

三、http 模块

用于创建HTTP服务器,处理客户端请求。

1. 创建服务器

const http = require('http');const app = http.createServer();app.on('request', function(req, res) {  // 处理请求逻辑});app listening on 3000 port

2. 获取请求方法

if (req.method === 'POST') {  // 处理 POST 请求}

3. 请求对象 (req)

  • req.headers : 请求头信息
  • req.url : 请求地址
  • req.method : 请求方法

4.响应对象 (res)

  • res.end() : 输出回复内容
  • res.writeHead() : 设置 HTTP 响应状态码和内容类型

5. 处理 POST 请求参数

let params = '';req.on('data', function(data) {  params += data;});req.on('end', function() {  // 处理参数逻辑});

四、url 模块

用于解析和处理URL地址。

1. 解析 URL 参数

const url = require('url');let parsedUrl = url.parse(req.url, true);// parsedUrl.search 是查询字符串,parsedUrl.query 是对象形式。

2. 获取请求地址

let pathname = url.parse(req.url).pathname;

五、querystring 模块

用于解析 key-value 查询字符串。

1. 引用查询字符串模块

let querystring = require('querystring');let params = querystring.parse(searchStr);

六、utility 模块

提供 utilities 函数,支持 promise 异步操作。

1. 异步操作处理

const fs = require('fs');const util = require('util');const readFile = util.promisify(fs.readFile);

七、第三方插件——mime 模块

用于根据请求 URL 返回文件 MIME 类型。

1. 安装 mime 模块

npm install mime

2. 获取 MIME 类型

const mime = require('mime');let type = mime.getType(url); // 返回如'text/html', 'text/css'等

八、案例:根据地址返回不同内容

const http = require('http');const url = require('url');const path = require('path');const fs = require('fs');const app = http.createServer();app.on('request', function(req, res) {  let pathname = url.parse(req.url).pathname;  let readFilePath = path.join(__dirname, pathname);  fs.readFile(readFilePath, 'utf8', function(err, content) {    if (err) {      res.writeHead(404, {'Content-Type': 'text/html; charset=utf-8'});      res.end('文件读取失败');      return;    } else {      res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});      res.end(content);    }  });});app.listen(3000);console.log('服务器已启动');

以上说明涵盖了 Node.js 的核心模块及其应用示例,适合技术人员参考和使用。

转载地址:http://hneuk.baihongyu.com/

你可能感兴趣的文章
Oracle BMW Racing sailing vessel帆船图
查看>>
ORACLE Bug 4431215 引发的血案—原因分析篇
查看>>
Oracle Business Intelligence Downloads
查看>>
Oracle cmd乱码
查看>>
Oracle Corp甲骨文公司推出Oracle NoSQL数据库2.0版
查看>>
【Docker知识】将环境变量传递到容器
查看>>
uniapp超全user-agent判断 包括微信开发工具 hbuilder mac windows 安卓ios端及本地识别
查看>>
Oracle DBA课程系列笔记(20)
查看>>
oracle dblink 创建使用 垮库转移数据
查看>>
oracle dblink结合同义词的用法 PLS-00352:无法访问另一数据库
查看>>
Oracle dbms_job.submit参数错误导致问题(ora-12011 无法执行1作业)
查看>>
oracle dg switchover,DG Switchover fails
查看>>
Oracle E-Business Suite软件 任意文件上传漏洞(CVE-2022-21587)
查看>>
Oracle EBS OPM 发放生产批
查看>>
Oracle EBS-SQL (BOM-15):检查多层BOM(含common BOM).sql
查看>>
Oracle EBS环境下查找数据源(OAF篇)
查看>>
oracle Extract 函数
查看>>
uni-app开发环境自动部署的一个误区(App running at...)
查看>>
Oracle GoldenGate Director安装和配置(无图)
查看>>
Oracle Goldengate在HP平台裸设备文件系统OGG-01028处理
查看>>