首页 > web前端 > js教程 > ost 使用的 Node.js 核心模块

ost 使用的 Node.js 核心模块

Mary-Kate Olsen
发布: 2024-11-15 14:11:02
原创
766 人浏览过

ost Used Core Modules of Node.js
Node.js 模块本质上是一组可以包含在应用程序中的 JavaScript 函数或对象。节点模块使您能够将代码分解为更小的、可重用的部分。

核心模块:

它们内置于 Node.js 中并提供基本功能,例如 fs(文件系统)、http(HTTP 服务器/客户端)、路径、url 等。您可以使用 require()

来访问这些模块,而无需安装它们

这是开发人员在其项目中最常用的核心模块。

1. 路径

Node.js 中的路径模块提供了用于处理文件和目录路径的实用程序。以下是路径模块中最常用的一些方法。

路径.join()

将多个路径段组合成单个路径。它规范化结果路径,处理冗余斜杠或相对路径

const path = require('path');
const filePath = path.join('/users', 'john', 'documents', 'file.txt');
console.log(filePath); 
// Output: /users/john/documents/file.txt
登录后复制
登录后复制
登录后复制

路径.resolve()

从当前工作目录开始,将一系列路径或路径段解析为绝对路径。

const absolutePath = path.resolve('documents', 'file.txt');
console.log(absolutePath); 
// Output: /your/current/working/directory/documents/file.txt
登录后复制
登录后复制

路径.basename()

返回路径的最后一部分,通常是文件名。您还可以指定要从结果中删除的扩展名。

const fullPath = '/users/john/file.txt';
console.log(path.basename(fullPath));       
 // Output: file.txt
console.log(path.basename(fullPath, '.txt')); 
// Output: file
登录后复制
登录后复制

路径.目录名()

返回路径的目录部分。

const filePath = '/users/john/documents/file.txt';
console.log(path.dirname(filePath)); 
// Output: /users/john/documents
登录后复制
登录后复制

路径.扩展名()

返回路径中文件的扩展名,包括点(.)。

const filePath = '/users/john/documents/file.txt';
console.log(path.dirname(filePath));
 // Output: /users/john/documents
登录后复制
登录后复制

路径.parse()

返回一个对象,其属性代表路径的不同部分

const parsedPath = path.parse('/users/john/file.txt');
console.log(parsedPath);
/* Output:
{
  root: '/',
  dir: '/users/john',
  base: 'file.txt',
  ext: '.txt',
  name: 'file'
}
*/
登录后复制
登录后复制

路径.isAbsolute()

检查路径是否是绝对路径,这意味着它从根目录开始(UNIX 上的 / 或 Windows 上的 C:)。

console.log(path.isAbsolute('/users/john'));  
// Output: true
console.log(path.isAbsolute('file.txt'));    
 // Output: false
登录后复制
登录后复制

还有更多方法可以查看path模块的官方文档

2.fs(文件系统)

Node.js 中的 fs(文件系统)模块允许您与文件系统交互以读取、写入和操作文件和目录。下面是fs模块中最常用的一些方法

fs.readFile() 和 fs.readFileSync()

异步和同步读取文件内容。

const fs = require('fs');
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) throw err;
  console.log(data);
});

const data = fs.readFileSync('example.txt', 'utf8');
console.log(data);
登录后复制
登录后复制

fs.writeFile() 和 fs.writeFileSync()

异步和同步将数据写入文件。

fs.writeFile('example.txt', 'Hello, World!', (err) => {
  if (err) throw err;
  console.log('File written successfully');
});

fs.writeFileSync('example.txt', 'Hello, World!');
console.log('File written successfully');
登录后复制
登录后复制

fs.appendFile() & fs.appendFile()

以异步和同步方式将数据附加到文件。

fs.appendFile('example.txt', 'Hello, World!', (err) => {
  if (err) throw err;
  console.log('File written successfully');
});

fs.appendFileSync('example.txt', 'Hello, World!');
console.log('File written successfully');
登录后复制
登录后复制

fs.rename() 和 fs.renameSync()

异步和同步重命名或移动文件。

const path = require('path');
const filePath = path.join('/users', 'john', 'documents', 'file.txt');
console.log(filePath); 
// Output: /users/john/documents/file.txt
登录后复制
登录后复制
登录后复制

fs.unlink() 和 fs.unlinkSync()

异步和同步删除文件。

const absolutePath = path.resolve('documents', 'file.txt');
console.log(absolutePath); 
// Output: /your/current/working/directory/documents/file.txt
登录后复制
登录后复制

fs.mkdir() 和 fs.mkdirSync()

异步和同步创建新目录。

const fullPath = '/users/john/file.txt';
console.log(path.basename(fullPath));       
 // Output: file.txt
console.log(path.basename(fullPath, '.txt')); 
// Output: file
登录后复制
登录后复制

fs.existsSync()

检查文件或目录是否同步存在。

const filePath = '/users/john/documents/file.txt';
console.log(path.dirname(filePath)); 
// Output: /users/john/documents
登录后复制
登录后复制

fs.copyFile()

将文件从一个位置异步复制到另一个位置。

const filePath = '/users/john/documents/file.txt';
console.log(path.dirname(filePath));
 // Output: /users/john/documents
登录后复制
登录后复制

还有更多方法可以查看fs模块的官方文档

3. 活动

Node.js 中的事件模块对于实现事件驱动编程至关重要。它允许您创建、监听和管理自定义事件。该模块中最常用的类是EventEmitter,它提供了处理事件的各种方法。以下是一些最常用的方法:

发射器.on()

为特定事件注册监听器(回调函数)。可以为单个事件注册多个监听器。

发射器.emit()

发出特定事件,触发为该事件注册的所有侦听器。您可以将参数传递给侦听器。

const parsedPath = path.parse('/users/john/file.txt');
console.log(parsedPath);
/* Output:
{
  root: '/',
  dir: '/users/john',
  base: 'file.txt',
  ext: '.txt',
  name: 'file'
}
*/
登录后复制
登录后复制

发射器.once()

为仅被调用一次的事件注册一个监听器。事件发出后,监听器会自动移除。

console.log(path.isAbsolute('/users/john'));  
// Output: true
console.log(path.isAbsolute('file.txt'));    
 // Output: false
登录后复制
登录后复制

发射器.removeAllListeners()

删除特定事件或所有事件(如果未指定事件)的所有侦听器。

const fs = require('fs');
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) throw err;
  console.log(data);
});

const data = fs.readFileSync('example.txt', 'utf8');
console.log(data);
登录后复制
登录后复制

还有更多方法可以查看事件模块的官方文档

4. 网址()

Node.js 中的 url 模块提供了用于 URL 解析、格式化和解析的实用程序。该模块对于处理和操作 Web 应用程序中的 URL 字符串非常有用。

新网址()

创建一个新的 URL 对象,该对象解析给定的 URL 并提供对其组件的访问。

URL.searchParams

创建一个新的 URL 对象,该对象解析给定的 URL 并提供对其组件的访问。

fs.writeFile('example.txt', 'Hello, World!', (err) => {
  if (err) throw err;
  console.log('File written successfully');
});

fs.writeFileSync('example.txt', 'Hello, World!');
console.log('File written successfully');
登录后复制
登录后复制

URL.toString() 和 URL.toJSON()

将 URL 对象转换为字符串表示形式。将 URL 序列化为 JSON 字符串

fs.appendFile('example.txt', 'Hello, World!', (err) => {
  if (err) throw err;
  console.log('File written successfully');
});

fs.appendFileSync('example.txt', 'Hello, World!');
console.log('File written successfully');
登录后复制
登录后复制

URL.主机名 & URL.端口

获取或设置 URL 的主机名部分(不带端口)。获取或设置 URL 的端口部分。

fs.rename('example.txt', 'renamed.txt', (err) => {
  if (err) throw err;
  console.log('File renamed successfully');
});

fs.renameSync('example.txt', 'renamed.txt');
console.log('File renamed successfully');
登录后复制

还有更多方法可以查看url模块的官方文档

5.http

Node.js 中的 http 模块提供了创建和处理 HTTP 请求和响应的功能。以下是http模块中最常用的一些方法:

http.createServer()

创建一个侦听传入请求的 HTTP 服务器。此方法返回 http.Server.

的实例

服务器.listen()

启动 HTTP 服务器并侦听指定端口和主机上的请求。

服务器.close()

停止服务器接受新连接并关闭现有连接。

const path = require('path');
const filePath = path.join('/users', 'john', 'documents', 'file.txt');
console.log(filePath); 
// Output: /users/john/documents/file.txt
登录后复制
登录后复制
登录后复制

还有更多方法可以查看http模块的官方文档

以上是ost 使用的 Node.js 核心模块的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板