Node.js之path路径模块
让我为大家介绍一下path路径模块吧!
什么是path路径模块?
path 模块是 Node.s 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。
介绍三个关于path模块的方法:
path.join() 方法,用来将多个路径片段拼接成一个完整的路径字符串
path.basename() 方法,用来从路径字符串中,将文件名解析出来
path.extname() 方法,可以获取路径中的扩展名部分
如果要在JavaScript代码中,使用 path 模块来处理路径,则需要使用如下的方式先导入它:
const path = require("path")
一、path.join()
语法:path.join([…paths])
…paths路径片段的序列
返回值: <string>
代码示例:
// 导入path模块
const path = require("path")
// ../ 会把前面一个抵消
const pathStr = path.join("/1","/2/3","../","/4")
console.log(pathStr) //\1\2\4
注意:今后凡是涉及到路径拼接的操作,都要使用 path.join() 方法进行处理。不要直接使用 + 进行字符串的拼接
我来给大家演示一下 + 进行拼接带来的问题
// 导入fs模块
const fs = require("fs")
const path = require("path")
// __dirname表示当前文件所在的目录 我们一不小心多加了一个.
fs.readFile(__dirname + "./index.js",(err,data)=>{if(err){// 错误信息console.log(err.message) //ENOENT: no such file or directory, open node.js\path.\index.js'}console.log("读取成功")
})
// 我们使用path.join()
fs.readFile(path.join(__dirname,"./index.js") ,(err,data)=>{console.log(err) //null null代表成功console.log("读取成功") //读取成功
})
二、path.basename()
语法: path.basename(path[,ext])
path<string>必选参数,表示一个路径的字符串
ext<string>可选参数,表示文件扩展名
返回:<string>表示路径中的最后一部分
代码示例:
// 导入path模块
const path = require("path")
const pathStr = path.basename("../1/2/3.html")
console.log(pathStr) // 3.html
const pathStr1 = path.basename("../1/2/3.html",".html")
console.log(pathStr1) // 3
三、path.extname()
语法: path.extname(path)
path<string>必选参数,表示一个路径的字符串
返回:<string>返回得到的扩展名字符串
// 导入path模块
const path = require("path")
const pathStr = path.extname("1.html")
console.log(pathStr) // .html
感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!
相关文章:
Node.js之path路径模块
让我为大家介绍一下path路径模块吧! 什么是path路径模块? path 模块是 Node.s 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。 介绍三个关于path模块的方法: path.join() 方法&…...
TCP与UDP协议
TCP与UDP协议 1、TCP协议: 1、TCP特性: TCP 提供一种面向连接的、可靠的字节流服务。在一个 TCP 连接中,仅有两方进行彼此通信。广播和多播不能用于 TCP。TCP 使用校验和,确认和重传机制来保证可靠传输。TCP 给数据分节进行排序…...
“ /^A-Z:\\{1,2}^/:\*\?<>\|+\.(jpg|gif|png|bmp)$/i ”这个正则表达式的理解
这个正则表达式可以分解为以下几个部分: ^:这是一个开始符号,表示匹配必须从字符串的开始部分开始。/:这是一个斜杠符号,通常在正则表达式中用来表示特殊字符的转义。A-Z::这部分表示匹配一个大写字母后跟…...
批量下载Sentinel数据脚本2023
批量下载Sentinel数据脚本2023 那些最好的程序员不是为了得到更高的薪水或者得到公众的仰慕而编程,他们只是觉得这是一件有趣的事情! 批量下载Sentinel数据脚本2023 批量下载Sentinel数据脚本2023🌿前言🌿脚本地址📧Su…...
lv11 嵌入式开发 ARM指令集中(伪操作与混合编程) 7
目录 1 伪指令 2 伪操作 3 C和汇编的混合编程 4 ATPCS协议 1 伪指令 本身不是指令,编译器可以将其替换成若干条等效指令 空指令NOP 指令LDR R1, [R2] 将R2指向的内存空间中的数据读取到R1寄存器 伪指令LDR R1, 0x12345678 R1 0x12345678 LDR伪指令可以将任…...
北邮22级信通院数电:Verilog-FPGA(10)第十周实验 实现移位寄存器74LS595
北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.代码部分 二.管脚分配 三.实现过程讲解及效…...
麒麟系统安装找不到安装源!!!!设置基础软件仓库时出错
记录--华为RH2288 V3服务器安装麒麟系统遇到的问题 1.遇到的问题--“设置基础软件仓库时出错”报错导致无法继续安装 没办法下一步 先说结论:系统bug 该问题在CentOS、Rocky Linux最新版中均存在 解决: (一)、如果是外网直接配…...
代码随想录算法训练营第三十九天【动态规划part02】 | 62.不同路径、63. 不同路径 II
62.不同路径 题目链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路: 动规五部曲 确定dp数组及其下标含义:dp[i][j] 表示从(0,0)出发,到(i,j&#x…...
鸿蒙4.0开发笔记之DevEco Studio如何使用Previewer窗口预览器(一)
一、预览器作用 DevEco Studio预览器概况在HarmonyOS应用开发过程中,通过使用预览器,可以查看应用的UI效果,方便开发者实时查看应用的运行效果,随时调整代码。 二、打开Previewer预览器 1、正常启动 打开预览器的位置在DevEco…...
音视频转换软件Permute mac中文板特点介绍
Permute mac是一款Mac平台上的媒体格式转换软件,由Chaotic Software开发。它可以帮助用户快速地将各种音频、视频和图像文件转换成所需格式,并提供了一些常用工具以便于用户进行编辑和处理。 Permute mac软件特点 - 支持大量格式:支持几乎所…...
前端uniapp列表下拉到底部加载下一页列表【下拉加载页面/带源码/实战】
目录 一. 图片1.2. 二.list.vue三.uni-load-more.vue最后 一. 图片 1. 2. 二.list.vue <template><view><!--列表--><scroll-view scroll-y"true" class"scroll-Y" :style"height: scrollviewHigh px;" lower-threshol…...
超聚变服务器关闭超线程CPU的步骤(完整版)
前言: 笨鸟先飞,好记性不如烂笔头。 我们项目都用不到超线程CPU,所以调测设备的时候都需要关掉,最近新设备换成了超聚变的服务器,这篇记录我关闭(超聚变)服务器超线程CPU的方法步骤。 关闭超线程CPU的步骤…...
智能驾驶汽车虚拟仿真视频数据理解(一)
赛题官网 datawhale 赛题介绍 跑通demo paddle 跑通demo torch 提交的障碍物取最主要的那个?不考虑多物体提交。障碍物,尽可能选择状态发生变化的物体。如果没有明显变化的,则考虑周边的物体。车的状态最后趋于减速、停止,时序…...
事关Django的静态资源目录设置(Django的setting.py中的三句静态资源(static)目录设置语句分别是什么作用?)
在Django的setting.py中常见的三句静态资源(static)目录设置语句如下: STATICFILES_DIRS [os.path.join(BASE_DIR, static)] STATIC_ROOT os.path.join(BASE_DIR, static) STATIC_URL /static/下面介绍这三句话的作用。 首先说第1句和第2句: STATI…...
Vue.js2+Cesium1.103.0 十四、绘制视锥,并可实时调整视锥姿态
Vue.js2Cesium1.103.0 十四、绘制视锥,并可实时调整视锥姿态 Demo <template><divid"cesium-container"style"width: 100%; height: 100%;"><divclass"control"style"position: absolute;right: 50px;top: 50px…...
批量替换WordPress文章内图片链接
在WordPress使用过程中,如果中途更换了域名,原先文章内的图片使用的是原来的域名,就会造成文章页里面的图片链接无法显示。如果从后台文章挨个修改就比较麻烦。可以通过数据库进行批量替换即可。 使用 PHPMyadmin 打开 数据库,登…...
关于DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC的一些发现
任务在哪 这个是11g以后的自动收集统计信息的后台任务,10g之前是在dba_scheduler_jobs里查看 SQL> SELECT CLIENT_NAME ,STATUS ,MEAN_INCOMING_TASKS_7_DAYS,MEAN_INCOMING_TASKS_30_DAYS FROM DBA_AUTOTASK_CLIENT WHERE…...
MatrixOne 支持多样化生态工具
近日,云原生数据库 MatrixOne 支持多样化生态工具,包括:数据集成工具、BI 工具和数据计算引擎这三类生态工具。 云原生数据库使得传统数据库得以充分结合云服务的免运维、高弹性、高可扩展、高可用、高性价比优势,又顺应了云端应…...
力扣刷题篇之位运算
系列文章目录 目录 系列文章目录 前言 一、位运算的基本运算 二、位运算的技巧 三、布隆过滤器 总结 前言 本系列是个人力扣刷题汇总,本文是数与位。刷题顺序按照[力扣刷题攻略] Re:从零开始的力扣刷题生活 - 力扣(LeetCode࿰…...
asp.net core mvc 控制器使用配置
一、在根目录 添加 mysettings.json 文件 mysettings.json 文件代码如下: {"MySettings": {"Name": "独立配置文件","Site": "lt"} }appsettings.json 文件代码如下: {"Logging": {&quo…...
考研408计算机学科专业基础综合——操作系统复习
考研408计算机学科专业基础综合 操作系统复习 核心说明:本笔记聚焦考研408操作系统高频考点、必背知识点,贴合命题规律(选择题大题并重),剔除冗余内容,突出重难点,适配冲刺复习与基础巩固&#…...
基于TMS320F28033的20MHz手持式双踪袖珍示波器设计与实现
一、系统概述 设计实现了一款手持式、双通道、20MHz带宽的数字存储示波器,以TI TMS320F28033 DSP为核心控制器,结合FPGA与高速ADC,构建了集信号调理、高速采集、数据处理与显示于一体的便携式测量仪器。系统采用程控增益放大、DC/AC耦合电子切…...
新手避坑指南:用STM32F407和AS5600给无刷电机做FOC驱动,从硬件选型到代码调试全流程
STM32F407AS5600无刷电机FOC驱动实战:从零搭建到参数调优全解析 1. 硬件选型与电路设计避坑指南 选择适合的硬件组合是FOC驱动项目成功的第一步。对于刚接触无刷电机控制的开发者来说,市面上琳琅满目的开发板和电机型号往往让人眼花缭乱。经过多次项目…...
工厂化循环水产养殖系统:数据驱动,养殖更精准
工厂化循环水产养殖系统解决方案,以物联网感知、智能控制、大数据分析、智能决策为核心,构建“水质精准调控智能投喂生长监测病害报警运维管理循环水处理”全链路闭环,实现高密度、零换水(或微换水)、高产出、低风险的现代化养殖。 通过物联网…...
GLM-4.1V-9B-Base与Dify联动:零代码构建企业级AI应用平台
GLM-4.1V-9B-Base与Dify联动:零代码构建企业级AI应用平台 1. 企业AI应用的新选择 最近接触了不少企业客户,发现一个普遍现象:大家都想用AI,但真正能用起来的却不多。技术门槛高、开发周期长、维护成本大,这些问题让很…...
QQ空间时光胶囊:用GetQzonehistory打造你的数字记忆保险箱
QQ空间时光胶囊:用GetQzonehistory打造你的数字记忆保险箱 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 当我们在社交平台上记录生活点滴时,可曾想过这些数字足…...
3个场景驱动策略:如何让Citra模拟器在你的硬件上火力全开
3个场景驱动策略:如何让Citra模拟器在你的硬件上火力全开 【免费下载链接】citra A Nintendo 3DS Emulator 项目地址: https://gitcode.com/gh_mirrors/cit/citra 作为一款开源的任天堂3DS模拟器,Citra让无数经典游戏在PC上重获新生。但要让这款高…...
拆解RTX4090 24G GPU服务器,一文摸清硬件搭配逻辑
RTX4090 24G GPU凭借NVIDIA Ada Lovelace架构优势,以16384个CUDA核心、24GB GDDR6X显存、1008GB/s显存带宽的核心参数,成为个人开发者、中小企业、科研机构的首选算力核心,广泛应用于大模型训练、AI推理、工业仿真、视频渲染等场景。据IDC 20…...
S2-Pro智能代码助手:VSCode插件开发与Codex使用体验对比
S2-Pro智能代码助手:VSCode插件开发与Codex使用体验对比 1. 开篇:当代码补全遇上大模型 最近在VSCode插件开发中尝试了两款智能代码助手:基于S2-Pro大模型的自研插件和GitHub Copilot(底层采用Codex模型)。实际用下来…...
YOLO-v8.3零售行业应用:货架商品识别,库存管理自动化
YOLO-v8.3零售行业应用:货架商品识别,库存管理自动化 1. 零售行业痛点与解决方案 零售行业每天面临数以万计的商品需要管理,传统的人工盘点方式不仅耗时耗力,还容易出现误差。根据行业统计,一家中型超市每月因库存不…...
