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

path.resolve、path.join

文章目录

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

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

一、path.resolve

  • __dirname属于常量,案例中为D:\2024\webpack\webpack-demo\src
  • __dirname只能写在最前面,会覆盖之前的所有路径
  • / 根目录也会覆盖之前的所有路径,直接变成以他为开始
  • path.resolve()相当于path.resolve(__dirname),__dirname默认都会在第一个位置
// 可以在文件里写入,点击该文件所在文件夹选终端打开,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
  • 其他情况为路径拼接,得到一个相对路径值
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这种绝对路径常量,如果必要只能一般写第一个,否则会得到奇怪路径;
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.kler.cn/a/407114.html

相关文章:

  • 微软发布Win11 24H2系统11月可选更新KB5046740!
  • 自监督学习:从概念到应用的全面解析
  • VMware Workstation 17.6.1
  • Diving into the STM32 HAL-----DAC笔记
  • 【海思Hi3519DV500】双目网络相机套板硬件规划方案
  • Mono Repository方案与ReactPress的PNPM实践
  • mfc140u.dll是什么文件,mfc140u.dll怎么解决【最新方法】
  • 碳化硅陶瓷膜的最佳使用期限
  • 重生之我在学环境变量
  • 信号signal
  • 【转】std::unique_ptr 删除器的秘密
  • 软件工程复习知识点
  • Mistral推出“Le Chat”,对标ChatGPT
  • pytest日志总结
  • 【ChatGPT】如何设计问题让ChatGPT生成创意写作内容
  • docker 容器的生命周期
  • 禁止Chrome的自动升级
  • MTK Android12 user版本MtkLogger
  • 【编译链接】什么是Copy Table及如何使用Copy Table
  • 【MYSQL】七种 SQL JOINS 的实现
  • RabbitMQ学习-One
  • 关于图论建模的一份介绍
  • 代理IP在后端开发中的应用与后端工程师的角色
  • 企业级服务器BIOS配置
  • 培训机构中教务系统的架构设计与实现
  • STM32 蜂鸣器报警