当前位置: 首页 > backend >正文

Node.js 中的内置模板path

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.xdnf.cn/news/16191.html

相关文章:

  • 论文阅读:《Many-Objective Evolutionary Algorithms: A Survey. 》多目标优化问题的优化目标评估的相关内容介绍
  • 机器翻译编程
  • 【安卓笔记】解决livedata粘性事件
  • 在 Alpine Linux 中创建虚拟机时 Cgroup 挂在失败的现象
  • Springboot宠物用品商城的设计与实现
  • 详解力扣高频SQL50题之197. 上升的温度【简单】
  • 星慈光编程虫2号小车讲解第二篇--向左向右平移
  • Python编程进阶知识之第五课处理数据(matplotlib)
  • Unity VS Unreal Engine ,“电影像游戏的时代” 新手如何抉择引擎?(结)
  • 100条SQL语句分类精讲:从基础到进阶的实操指南
  • 医疗系统国产化实录:SQL Server国产替代,乙方保命指南
  • 机器学习的基础知识
  • 洛谷 P1996 约瑟夫问题之题解
  • kafka的shell操作
  • 多源信息融合智能投资【“图神经网络+强化学习“的融合架构】【低配显卡正常运行】
  • MapStruct类型转换接口未自动注入到spring容器中
  • 快速将前端得依赖打为tar包(yarn.lock版本)并且推送至nexus私有依赖仓库(笔记)
  • 《C++》面向对象编程--类(下)
  • LLM中的位置嵌入矩阵(Position Embedding Matrix)是什么
  • matrix-breakout-2-morpheus靶机通关教程
  • DBA常用数据库查询语句
  • Python爬虫案例:Scrapy+XPath解析当当网网页结构
  • Lua(模块与包)
  • 【docker | 部署 】Jetson Orin与AMD平台容器化部署概述
  • Java 实现 B/S 架构详解:从基础到实战,彻底掌握浏览器/服务器编程
  • 前端性能新纪元:Rust + WebAssembly 如何在浏览器中实现10倍性能提升(以视频处理为例)
  • 【RAG优化】RAG应用中图文表格混合内容的终极检索与生成策略
  • VUE的学习
  • iOS WebView 加载失败与缓存刷新问题排查实战指南
  • 医疗行业新变革:AR 培训系统助力手术培训精准高效​