1. path的作用:path 是 Node.js 中的一个内置模块,用于处理文件和目录路径。它提供了一些工具来处理路径字符串,确保路径操作跨平台兼容(Windows 和 Unix 风格的路径分隔符)

2.path的常用方法

path.join()

和数组的join方法相似,它也可以起到拼接作用,它用于将多个路径片段连接起来,并正确地处理路径分隔符。即使有错误的分隔符,它也可以自动修正

const path = require('path');
const fullPath = path.join('folder', 'subfolder', 'file.txt');
console.log(fullPath);  // 输出: 'folder/subfolder/file.txt' (在Windows上会是 'folder\\subfolder\\file.txt')

path.resolve()

解析给定的路径为绝对路径。它会根据当前工作目录来确定完整路径。

经常和__dirname结合使用,__dirname 是 Node.js 中的一个全局变量,它表示当前模块文件所在的目录的绝对路径。__dirname会返回一个字符串,可以把它放到path.resolve()的参数中,而且他是一个全局变量,无需导入可以直接使用,二者结合可以得到正确的绝对路径

const path = require('path');module.exports = {entry: './src/index.js',output: {filename: 'bundle.js',path: path.resolve(__dirname, 'dist')  // 使用 __dirname 确保输出路径是绝对路径}
};

path.basename():获取路径中的文件名(去掉目录部分)

const path = require('path');
const filename = path.basename('/folder/subfolder/file.txt');
console.log(filename);  // 输出: 'file.txt'

path.extname():获取文件的扩展名,可以获得文章的类型

const path = require('path');
const extname = path.extname('file.txt');
console.log(extname);  // 输出: '.txt'

path.dirname():获取文件的目录部分

const path = require('path');
const dirname = path.dirname('/folder/subfolder/file.txt');
console.log(dirname);  // 输出: '/folder/subfolder'

path.parse():将路径解析成一个对象,包含路径的各个部分(root, dir, base, ext, name),网课中没有重点讲,但是我觉得它可以用来传递数据

const path = require('path');
const parsedPath = path.parse('/folder/subfolder/file.txt');
console.log(parsedPath);
// 输出:
// {
//   root: '/',
//   dir: '/folder/subfolder',
//   base: 'file.txt',
//   ext: '.txt',
//   name: 'file'
// }

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重生之我在暑假学习微服务第三天《Docker-上篇》

个人主页:VON文章所属专栏:微服务系列文章链接:重生之我在暑假学习微服务第一天《MybatisPlus-上篇》-CSDN博客重生之我在暑假学习微服务第二天《MybatisPlus-下篇》-CSDN博客时间:每天12点前准时更新 特别声明:本篇文…

【硬件】LT3763中文手册

目录 1.简介 1.1 特点 1.2 简述 1.3 典型原理图 1.4 绝对最大额定值 2.电气特性 3.引脚功能 4.框图 4.1 设计电感电流 4.2 电感选择 4.3 开关MOSFET选择 4.4 输入电容选择 4.5 输出电容选择 4.6 CBOOST电容选择 4.7 INTVCC电容器选择 4.8 Soft-Start 4.9 输出电流…

【计算机科学与应用】基于多域变换的视频水印嵌入算法研究

导读: 为提升视频水印在版权保护中的实际应用效果,本文提出一种基于多域变换的视频水印嵌入算法。该算法结合离散小波变换(Discrete Wavelet Transform, DWT)与离散余弦变换(Discrete Cosine Transformation, DCT),利用其在时频域分析与能量…

Axios基本使用

介绍 Axios 是一个基于promise网络请求库,作用于node.js和浏览器中 特性 从浏览器创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请求和响应转换请求和响应数据取消请求自动转换JSON数据客户端支持防御XSRF 安装 项目中 npm install axi…

【大模型LLM】梯度累积(Gradient Accumulation)原理详解

梯度累积(Gradient Accumulation)原理详解 梯度累积是一种在深度学习训练中常用的技术,特别适用于显存有限但希望使用较大批量大小(batch size)的情况。通过梯度累积,可以在不增加单个批次大小的情况下模拟…

阿里云Ubuntu 22.04 ssh隔一段时间自动断开的解决方法

在使用ssh连接阿里云ubuntu22.04隔一段时间之后就自动断开,很影响体验,按照如下配置就可以解决vim /etc/ssh/sshd_config

R中匹配函数

在 R 中,字符串匹配是一个常见的任务,可以使用正则表达式或非正则表达式的方法来完成。以下是对这些方法的总结,包括在向量和数据框中的应用。 正则表达式匹配 常用函数grepl: 功能:检查向量中的每个元素是否匹配某个正…

Ubuntu服务器上JSP运行缓慢怎么办?全面排查与优化方案

随着企业系统越来越多地部署在Linux平台上,Ubuntu成为JSP Web系统常见的部署环境。但不少开发者会遇到一个共同的问题:在Ubuntu服务器上运行的JSP项目访问缓慢、页面加载时间长,甚至出现卡顿现象。这类问题如果不及时解决,容易导致…

web刷题

[极客大挑战 2019]RCE ME 打开环境,代码逻辑还是很简单的 思路是传参code参数,一般传参shell然后用蚁剑连接看flag,但是这题做了之后就会发现思路是没错但是这题多了一些验证,这题就是无字符rce,可以考虑用取反&…

FFmpeg+javacpp中FFmpegFrameGrabber

FFmpegjavacpp中FFmpegFrameGrabber1、FFmpegFrameGrabber1.1 Demo使用1.2 音频相关1.3 视频相关2、Frame属性2.1 视频帧属性2.2 音频帧属性2.3 音频视频区分JavaCV 1.5.12 API JavaCPP Presets for FFmpeg 7.1.1-1.5.12 API1、FFmpegFrameGrabber org\bytedeco\javacv\FFmpeg…

1-FPGA的LUT理解

FPGA的LUT理解 FPGA的4输入LUT中,SRAM存储的16位二进制数(如 0110100110010110)直接对应真值表的输出值。下面通过具体例子详细解释其含义: 1. 4输入LUT 4输入LUT的本质是一个161的SRAM,它通过存储真值表的方式实现任意…

Vue2文件上传相关

导入弹窗<template><el-dialog:title"title":visible.sync"fileUploadVisible"append-to-bodyclose-on-click-modalclose-on-press-escapewidth"420px"><div v-if"showDatePicker">选择时间&#xff1a;<el-date…

vue使用xlsx库导出excel

引入xlsx库 import XLSX from "xlsx";将后端接口返回的数据和列名&#xff0c;拼接到XLSX.utils.aoa_to_sheet中exportExcel() {debugger;if (!this.feedingTableData || this.feedingTableData.length "0") {this.$message.error("投料信息为空&…

卷积神经网络(CNN)处理流程(简化版)

前言 是看了这个大佬的视频后想进行一下自己的整理&#xff08;流程只到了扁平化&#xff09;&#xff0c;如果有问题希望各位大佬能够给予指正。卷积神经网络&#xff08;CNN&#xff09;到底卷了啥&#xff1f;8分钟带你快速了解&#xff01;_哔哩哔哩_bilibilihttps://www.…

DBSyncer:开源免费的全能数据同步工具,多数据源无缝支持!

DBSyncer&#xff08;英[dbsɪŋkɜː]&#xff0c;美[dbsɪŋkɜː 简称dbs&#xff09;是一款开源的数据同步中间件&#xff0c;提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自定义同步转换业务&#xff0c;提供…

kafka开启Kerberos使用方式

kafka SASL_PLAINTEXT serviceName 配置&#xff1a; /etc/security/keytabs/kafka.service.keytab 对应的用户名 $ cat /home/sunxy/kafka/jaas25.conf KafkaClient { com.sun.security.auth.module.Krb5LoginModule required useKeyTabtrue renewTickettrue serviceName“ocd…

Unity教程(二十四)技能系统 投剑技能(中)技能变种实现

Unity开发2D类银河恶魔城游戏学习笔记 Unity开发2D类银河恶魔城游戏学习笔记目录 技能系统 Unity教程&#xff08;二十一&#xff09;技能系统 基础部分 Unity教程&#xff08;二十二&#xff09;技能系统 分身技能 Unity教程&#xff08;二十三&#xff09;技能系统 掷剑技能…

局域网TCP通过组播放地址rtp推流和拉流实现实时喊话

应用场景&#xff0c;安卓端局域网不用ip通过组播放地址实现实时对讲功能发送端: ffmpeg -f alsa -i hw:1 -acodec aac -ab 64k -ac 2 -ar 16000 -frtp -sdp file stream.sdp rtp://224.0.0.1:14556接收端: ffmpeg -protocol whitelist file,udp,rtp -i stream.sdp -acodec pcm…

基于深度学习的医学图像分析:使用YOLOv5实现细胞检测

最近研学过程中发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击链接跳转到网站人工智能及编程语言学习教程。读者们可以通过里面的文章详细了解一下人工智能及其编程等教程和学习方法。下面开始对正文内容的…

32.768KHZ 3215晶振CM315D与NX3215SA应用全场景

在现代电子设备中&#xff0c;一粒米大小的晶振&#xff0c;却是掌控时间精度的“心脏”。CITIZEN的CM315D系列与NDK的NX3215SA系列晶振便是其中的佼佼者&#xff0c;它们以 3.2 1.5 mm 的小尺寸”(厚度不足1mm)&#xff0c;成为智能设备中隐形的节奏大师。精准计时的奥秘这两…