node.js的四种内置模块

news2024/11/11 7:28:06

目录

1、node.js内置模块的概念

2、fs内置模块

3、path内置模块

4、url内置模块

5、http内置模块 


1、node.js内置模块的概念

node.js的内置模块也叫作node.js的核心模块,它是node.js自带的模块,在下载了node.js后就会有的,并不需要从外部引入

2、fs内置模块

fs是File System的缩写,表示文件系统。

对于任何一个为服务器端服务的语言或者框架通常都会有自己的文件系统:

  • 因为服务器需要将各种数据、文件等放置到不同的地方;
  • 比如用户数据可能大多数是放到数据库中的(后面我们也会学习);
  • 比如某些配置文件或者用户资源(图片、音视频)都是以文件的形式存在于操作系统上的;

Node也有自己的文件系统操作模块,就是fs:

  • 借助于Node帮我们封装的文件系统,我们可以在任何的操作系统(window、Mac OS、Linux)上面直接去操作文件;
  • 这也是Node可以开发服务器的一大原因,也是它可以成为前端自动化脚本等热门工具的原因;

引入方式:

const fs = require('fs')

基本语法:

语法参数的意义实现的功能

fs.writeFile(参数1,参数2,参数3)

参数1:目录  参数2:内容 参数3:err回调写入内容
fs.readFile(参数1,参数2,参数3)参数1:文件路径 参数2:字符串 参数3:读取内容回调读取文件
fs.appendFile(参数1,参数2,参数3)参数1:目录  参数2:内容 参数3:err回调添加内容

fs.unlink(参数1,参数2)

参数1:目录  参数2:错误回调删除文件

举例说明:

fs.readFile和fs.writeFile为例,其他仅做参考,在实际开发中,我们最常用的是读取文件这一个操作。三个参数中,文件路径必填;配置项的字符串可以不用写,默认值是buffer;回调函数必填

 

3、path内置模块

path模块用于对路径和文件进行处理,提供了很多好用的方法。

并且我们知道在Mac OS、Linux和window上的路径是不一样的

  • window上会使用 \或者 \\ 来作为文件路径的分隔符,当然目前也支持 /
  • 在Mac OS、Linux的Unix操作系统上使用 / 来作为文件路径的分隔符;

那么如果我们在window上使用 \ 来作为分隔符开发了一个应用程序,要部署到Linux上面应该怎么办呢?

  • 显示路径会出现一些问题;
  • 所以为了屏蔽他们之间的差异,在开发中对于路径的操作我们可以使用path 模块;

引入方式

const path = require("path")

基本语法:

path.basename()获取文件
path.dirname()获取路径
path.extname()获取后缀
path.join()合并目录
path.resolve()合并目录(自带解析)

举例说明:

const path = require("path");

// console.log(path)

// path.join([路径片段1, 路径片段2, 路径片段3])
const res = path.join("a", "/b", "/c", "/d.html");
// console.log(res); // a\b\c\d.html

const res1 = path.resolve("a", "/b", "/c", "/d.html");
const res2 = path.resolve("q/w/e", "y.html");
// console.log(res1); // C:\d.html
// console.log(res2); // C:\Users\41099\Desktop\GY-2203\07周\02天\code\06_node内置模块path\q\w\e\y.html

const res3 = path.parse(
    'C:/Users/41099/Desktop/GY-2203/07周/02天/code/06_node内置模块path/q/w/e/y.html'
)
console.log(res3)

来看看会打印出什么

4、url内置模块

url全球统一资源定位符,对网站资源的一种简洁表达形式,也称为网址。

Node.js 里面的内置的URL 模块,这个模块在代码中使用时需要通过 require() 方法进行引用。但是如果只是在命令行里比如 cmd 或 git bash 等使用此模块,则不需要引用。 引入格式:

引入方法:

const url = require("url")

基本语法:

url.parse(地址 ,true) 获取参数
url.resolve()合并目录解析

url.parse默认为false

举例说明:

// url.parse('url 地址(必填)', '是否深度解析(选填, 默认为 false)')
const res = url.parse("http://localhost:8080/a/b/c/d.html?current=1&pagesize=12");
console.log(res)

const res1 = url.parse("http://localhost:8080/a/b/c/d.html?current=1&pagesize=12", true);
console.log(res1)

5、http内置模块 

引入方法:

const http = require("http") 

创建一个web服务器:

// 0. 导入内置模块
const http = require("http");

// console.log(http);

// 1. 创建一个 服务器
const server = http.createServer(function (req, res) {
    /**
     *  req: 表明前端的请求报文
     *  res: 后端返回给前端的响应报文
    */

    console.log(req.url)
    // console.log('每当有一个 前端 访问的时候, 我就会被触发一次')

    if (req.url == '/a') {
        res.end('hello~~~pageA')
    }

    if (req.url == '/b') {
        res.end('hello~~~pageB')
    }

})

// 2. 给服务器 配置一个 端口号(0~65535)
server.listen(8080, () => {
    console.log('服务器开启成功, 端口号 8080')
})

来看看结果:

🥰🥰🥰好的,node.js的常用内置模块就说到这里啦!!!🥰🥰🥰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69683.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

猿如意中的【Code:: Blocks】工具详情介绍

文章目录一、工具名称二、下载安装渠道2.1 什么是猿如意?2.2 如何下载猿如意?2.3 如何在猿如意中下载开发工具Code:: Blocks?三、工具介绍四、Code::Blocks 功能介绍4.1、VC 6.04.2、Code::Blocks4.3、Dev-C4.4 Visual Studio4.5、C-Free五、…

BF706和BF609的Flash Program新技巧,可以使用第三方插件

作者的话 CCES来做Flash Program,需要CMD,然后敲一大堆的命令,刚开始搞的时候,会觉得很麻烦,那么是否有更简单的办法呢?在Blackfin处理器里,我找到了一个第三方插件,用这个插件就可…

Uniapp 如何用离线打包工程制作自定义调试基座

如何用离线打包工程制作自定义调试基座 Tips⚠️: 确保版本一致,请确保从HBuilderX导出的打包资源的HBuilderX的版本号和App离线SDK发布的版本号是一致的,如下2张图里的版本号: 打开原生iOS工程 1、在打包原生工程里找到 control.xml文件&a…

单向链表理解——java

概述 单线链表:单向链表又叫单链表,是链表的一种。由节点构成,head指针指向第一个称为表头节点,而终止指向最后一个null指针 特点 链表连接的方向都是单向的链表的访问要通过顺序从头部开始链表是使用指针进行构造的列表是由一个一个节点组…

Python读取Excel文件

最近需要用到Python来操作excel表,读取表格内容到数据库。所以就搜索了相关资料。 查找了一下,可以操作excel表的几个库有以下几个: openpyxl 这个是推荐使用的库,可以读写Excel 2010以上格式,以.xlsx结尾的文件。 x…

SpringBoot+Vue项目校园二手交易平台

文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue.js 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JD…

HCI opcode

HCI控制命令由两个字节的OpCode定义,每个OpCode由一个字节的OGF(OpCode Group Field)和一个字节的OCF(OpCode Command Field)组成。参考: HCI Command Packet Command的数据包格式如下图: 其中…

海量数据下查询慢、数据不一致难题如何解?看某游戏公司的技术实践

导语: 复杂架构的危害是隐性且持续增长的,尤其在海量数据处理的业务场景下,导致系统吞吐量增长、各功能模块相互影响,且数据重复、维护困难。某游戏公司就面临这样的困境,在寻求解决方案的过程中,携手Ocean…

通用的异常处理程序机制与处理返回值方案

通用的异常处理程序机制与返回值方案文章目录通用的异常处理程序机制与返回值方案现状示例方案原理步骤总结附完整代码现状相信很多人都为处理错误返回值代码都烦恼过。例如:一个程序嵌套了10个方法,嵌套最深的方法一旦有个业务错误代码,那么…

如何通过文档改善用户体验和客户关系

文档对你的员工和客户来说都是一个宝贵的信息来源。你策划和分享的每一个教程、"如何做 "的文章和指南都可以改善用户体验和客户关系。 在这个数字时代,每个人都希望立即得到答案,很少或没有人际互动,一个坚实的知识库软件使你领先…

TIOBE12月编程语言榜发布:C++首超Java!

本月TIOBE更新了榜单,其中变化最大的莫过于C以0.12%微弱优势,总市场份额首次超过了Java。 在今年6月份的时候,TIOBE的CEOPaul Jansen曾做出过预测,C将会是下一个超越Java的语言。果然在最新版本的C 20的推动下,超越了…

模板方法模式(python)

一、模式定义 1.模板方法模式(Template Method Pattern):定义一个操作中算法的框架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2.模板方法是一种类行为型模式。 二、模式结构 …

斩获三奖 | 国产BI行业唯一获奖,Smartbi荣获36氪、数据猿等多项荣誉

入选36氪新经济之王年度企业近日,36氪WISE2022 新经济之王盛会隆重举行,会上正式发布了“WISE2022 新经济之王年度企业”名册,思迈特软件成功斩获“WISE2022 新经济之王年度企业”荣誉,成为国产BI行业唯一获奖品牌。据了解&#x…

scrapy爬虫框架

scrapy爬虫框架一 scrapy架构介绍二 安装指南三 创建项目3.1 创建爬虫项目3.2 创建爬虫3.3 启动爬虫3.4 pycharm中运行四 scrapy解析数据五 settings相关配置六 持久化方案七 全站爬取cnblogs文章八 中间件一 scrapy架构介绍 Scrapy一个开源和协作的框架,其最初是为…

在线购物电商网站毕业设计,网上购物商城系统设计与实现,毕业设计怎么写论文毕设源码开题报告需求分析怎么做

项目背景和意义 目的:伴随着互联网技术的不断发展和完善,在人们的生活和工作的各个方面,互联网都有着非常重大的影响。伴随着国内电子商务行业的迅猛发展,消费者现在能够轻松的实现足不出户的,仅仅通过网络购物平台就可…

【工作经历分享】软件测试求职真的难,但是我还是从7K涨到了14K

上个礼拜刚好转正了,三个月试用期,五月份换的工作。 现在这份工作,相比上一份确实好很多,比如工资直接涨了一倍,7到14,13薪,朝九晚六,从不加班,项目也简单,包…

Kubernetes基础概念

什么是Kubernetes 1.用于自动部署、扩展和管理“容器化( containerized) 应用程序”的开源系统 2.可以理解成K8S是负责自动化运维管理多个容器化程序(比如Docker)的集群,是–个生态极其丰富的容器编排框架工具 Kubernetes作用 1.用于自动部署、扩展和管理“容器化…

2022下半年的软考成绩公布时间?

今年软考下半年成绩公布时间预估在12月15-20日左右。 软考成绩一般并没有一个固定的时间点公布,不过从近几年软考办成绩查询通知公布时间来看,大多是下午出的成绩。一般来说,成绩查询通知公布之前的几分钟,考生已经可以查成绩了。…

使用Golang语言walk框架开发一个简单的windowsGUI

1、前言 最近使用golang语言开发了一个windowsGUI的Demo,由于golang语言属于比较新的语言,对GUI开发这一块并没有原生库也没有推荐库,因此我在github上找到了一个叫做walk的GUI开发框架。 github原址为:http://github.com/lxn/w…

定时执行专家 —— 定时循环发送TCP消息(例如:控制设备的开关机等场景)

《定时执行专家》是一款制作精良、功能强大、简单易用、毫秒级精度、专业级的定时任务执行软件。软件具有 21 种【任务类型】、12 种【触发器】触发方式,并且全面支持界面化Cron表达式设置。软件采用多线程并发方式检测任务触发和任务执行,能够达到毫秒级…