path.resolve、path.join

embedded/2024/11/26 15:51:18/

文章目录

  • 一、path.resolve
  • 二、path.join

node中的path 模块:用于处理文件和目录的路径的实用工具;经常在一些打包配置中出现

一、path.resolve

  • __dirname属于常量,案例中为D:\2024\webpack\webpack-demo\src
  • __dirname只能写在最前面,会覆盖之前的所有路径
  • / 根目录也会覆盖之前的所有路径,直接变成以他为开始
  • path.resolve()相当于path.resolve(__dirname),__dirname默认都会在第一个位置
javascript">// 可以在文件里写入,点击该文件所在文件夹选终端打开,node ./index.js,启动测试代码
console.log("node path", path.resolve());
console.log("node path", path.resolve(__dirname));
console.log("node path", path.resolve(__dirname, ""));
console.log("node path", path.resolve(__dirname, "./"));
console.log("node path", path.resolve(__dirname, "../"));
console.log("node path", path.resolve(__dirname, "/"));
console.log("node path", path.resolve(__dirname, "a", "/b"));
console.log("node path", path.resolve(__dirname, "a", "/b", __dirname));// 结果
node path D:\2024\webpack\webpack-demo\src
node path D:\2024\webpack\webpack-demo\src
node path D:\2024\webpack\webpack-demo\src
node path D:\2024\webpack\webpack-demo\src
node path D:\2024\webpack\webpack-demo
node path D:\
node path D:\b
node path D:\2024\webpack\webpack-demo\src

二、path.join

  • 默认调用得到一个点.
  • 首位是相对路径就不会有点, 首位是cd …/会保持原样…\,首位是/保持不变\
  • 从实际拼接效果上看:a === ./a === /a
  • 其他情况为路径拼接,得到一个相对路径值
javascript">console.log("node path", path.join());
console.log("node path", path.join("a", "/b"));
console.log("node path", path.join("/a", "/b"));
console.log("node path", path.join("./a", "./b"));
console.log("node path", path.join("../a", "/b"));
console.log("node path", path.join("../a", "../b"));// 结果
node path .
node path a\b
node path \a\b
node path a\b
node path ..\a\b
node path ..\b
  • path.join只会帮助拼接,__dirname这种绝对路径常量,如果必要只能一般写第一个,否则会得到奇怪路径;
javascript">console.log("node path", path.join(__dirname, "./a", "/b"));
console.log("node path", path.join("./a", __dirname, "/b"));
console.log("node path", path.join("/", __dirname, "/b"));
console.log("node path", path.join("./", __dirname, "/b"));
console.log("node path", path.join(".", __dirname, "/b"));
console.log("node path", path.join("", __dirname, "/b"));// 结果
node path D:\2024\webpack\webpack-demo\src\a\b
node path a\D:\2024\webpack\webpack-demo\src\b
node path \D:\2024\webpack\webpack-demo\src\b
node path D:\2024\webpack\webpack-demo\src\b
node path D:\2024\webpack\webpack-demo\src\b
node path D:\2024\webpack\webpack-demo\src\b

http://www.ppmy.cn/embedded/140655.html

相关文章

AI写小说

从前有一个小女孩叫莉莉,她是个天真活泼的孩子,生活在一个美丽的村庄里。 莉莉的家人都非常喜欢她,因为她总是给人带来欢乐和笑声。她喜欢和小伙伴们一起玩耍,最喜欢的游戏就是躲猫猫。 一天,当莉莉正在和小伙伴们玩…

《Qt Creator:人工智能时代的跨平台开发利器》

《Qt Creator:人工智能时代的跨平台开发利器》 一、Qt Creator 简介(一)功能和优势(二)快捷键与效率提升(三)跨平台支持(四)工具介绍与使用主要特性:使用步骤…

GoF设计模式——结构型设计模式分析与应用

文章目录 UML图的结构主要表现为:继承(抽象)、关联 、组合或聚合 的三种关系。1. 继承(抽象,泛化关系)2. 关联3. 组合/聚合各种可能的配合:1. 关联后抽象2. 关联的集合3. 组合接口4. 递归聚合接…

设计模式之 模板方法模式

模板方法模式是行为型设计模式的一种。它定义了一个算法的骨架,并将某些步骤的实现延迟到子类中。模板方法模式允许子类在不改变算法结构的情况下重新定义算法的某些特定步骤。 模板方法模式的核心在于: 封装算法的骨架:通过父类中的模板方…

STM32串口——5个串口的使用方法

参考文档 STM32串口——5个串口的使用方法_51CTO博客_stm32串口通信的接收与发送 串口是我们常用的一个数据传输接口,STM32F103系列单片机共有5个串口,其中1-3是通用同步/异步串行接口USART(Universal Synchronous/Asynchronous Receiver/Transmitter)…

人工智能学习框架实例解析

人工智能学习框架在机器学习、深度学习和其他AI任务中发挥着关键作用。 一、TensorFlow TensorFlow是由Google开发的开源机器学习框架,广泛应用于学术界和工业界。它支持多种编程语言,包括Python、C和Java,并具有强大的社区支持和丰富的文档…

OEM sql monitoring 类似SQL

不够OEM 全面 select a.inst_id,a.time_since_last_wait_micro,a.last_call_et,a.sql_id,a.sql_hash_value, a.username,a.pdml_enabled,a.pdml_status ,a.prev_sql_id from gv$session a where a.statusACTIVE and a.sql_id is not null and a.username is not null select …

DICOM图像处理:深入解析DICOM彩色图像中的Planar配置及其对像素数据解析处理的实现

引言 在DICOM(Digital Imaging and Communications in Medicine)标准中,彩色图像的存储与显示涉及多个关键属性,其中**Planar Configuration(平面配置)**属性(标签 (0028,0006))尤为重要。当遇到彩色DICOM图像在浏览时被错误地分割为9张小图,而实际应显示为一…