本文共 2442 字,大约阅读时间需要 8 分钟。
Node.js 中内置了多个功能模块,这些模块为开发者提供了丰富的功能。以下是几个常用的模块及其使用方法。
文件模块用于读取和写入文件。
let fs = require('fs');
fs 是 Node.js 内置的文件模块。
读取文件默认使用 UTF-8 编码。
fs.readFile('路径', 'utf8', function(err, res) { if (err === null) { console.log(res); }});
默认使用 UTF-8 编码,可以自动创建文件孙存在的路径。
fs.writeFile('路径', '内容', function() {});
路径模块用于拼接路径,支持不同操作系统的路径分隔符。
let path = require('path');
路径拼接时无需自行添加分隔符。
let path = path.join('路径1', '路径2');
// 读取当前文件的绝对路径let currentDir = __dirname;// 构建绝对路径let abstPath = path.join(currentDir, './文件名');
用于创建HTTP服务器,处理客户端请求。
const http = require('http');const app = http.createServer();app.on('request', function(req, res) { // 处理请求逻辑});app listening on 3000 port
if (req.method === 'POST') { // 处理 POST 请求}
req.headers
: 请求头信息req.url
: 请求地址req.method
: 请求方法res.end()
: 输出回复内容res.writeHead()
: 设置 HTTP 响应状态码和内容类型let params = '';req.on('data', function(data) { params += data;});req.on('end', function() { // 处理参数逻辑});
用于解析和处理URL地址。
const url = require('url');let parsedUrl = url.parse(req.url, true);// parsedUrl.search 是查询字符串,parsedUrl.query 是对象形式。
let pathname = url.parse(req.url).pathname;
用于解析 key-value 查询字符串。
let querystring = require('querystring');let params = querystring.parse(searchStr);
提供 utilities 函数,支持 promise 异步操作。
const fs = require('fs');const util = require('util');const readFile = util.promisify(fs.readFile);
用于根据请求 URL 返回文件 MIME 类型。
npm install 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/