node中,path.join和path.resolve的区别

news2024/12/23 11:35:36

1. path.join和path.resolve的区别

path.join

  1. 拼接路径
  2. 能够识别 \

path.resolve

  1. 从当前的执行路径,解析出绝对路径
  2. 不能识别 \ ,会被当成根路径

注意下面的例子,是从当前的执行路径,解析出绝对路径

使用 process.cwd() 可以获取当前的执行路径

const path = require('path');
// 拼接路径
console.log('拼接路径', path.join('a', 'b', '/c'));
// 解析出绝对路径
console.log('解析路径', path.resolve('a', 'b', 'c'))

使用path.resolve 如果待拼接字符串有 /,那么会解析出根路径

 

 2. 使用__dirname

按照上述例子使用path.resolve,会从执行路径开始解析,但是当我们的js文件不在根目录(也就是默认的执行路径)时,就会出错。我们希望从当前文件的路径开始解析。所以可以加上 __dirname

 同样的拼接路径的方法 path.join也可以使用__dirname 开始拼接,此时得到的结果和path.resolve一致(不考虑是否有斜杠 \ 的情况

 3. 切换当前的执行路径

在上面的例子中,直接点击 run code按钮,使用process.cwd() 获取的执行路径是根目录,而不是当前文件的路径,那么我们可以使用终端terminal 来切换(cd 命令)执行路径,只不过此时我们需要使用node命令来运行文件了。

 总结,在实际项目中建议使用

path.resolve(__dirname, 'a')

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年中国博士后科学基金资助指南发布

今日,博管会发布了2023年中国博士后科学基金资助指南,内容上有较大的变化:1.面上资助不再分设一等、二等资助,资助标准统一调整为自然科学资助标准8万元,社会科学资助标准5万元;2.申请人申报周期从2个月调整…

AiFlow大数据框架应用简介

文章大纲1. 平台定位2. 平台特点一站建模智能分析交互分析通用部署3. 项目案例ETL 过程样例物料分类业务规则建模合作1. 平台定位 数据挖掘平台在此起到数据运营的承上启下的环节,主要负责数据的挖掘分析、ETL、数据检测。 平台支持自动建模、可视化交互建模、嵌入…

JavaScript:队列的封装及面试题击鼓传花队列方法实现案例

队列的定义:队列简称队。是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队;删除元素称为出队或离队。其操作特性为先进先出(First In First Out,…

【金猿人物展】天云数据雷涛:从数据湖到湖仓一体再到数据编织,完成的是燃油车到油电混再到纯电技术的改造...

‍雷涛本文由天云数据CEO雷涛撰写并投递参与“数据猿年度金猿策划活动——2022大数据产业趋势人物榜单及奖项”评选。‍数据智能产业创新服务媒体——聚焦数智 改变商业这一两年,北美以Facebook、谷歌为驱动的存算分离的虚拟数仓架构,正在非常快速的洗牌…

【408篇】C语言笔记-第十七章(考研必会的排序算法(下))

文章目录第一节:选择排序1. 选择排序原理解析2. 选择排序代码实战3. 时间复杂度与空间复杂度第二节:堆排序1. 堆排序原理解析2. 堆排序代码实战3. 时间复杂度与空间复杂度第三节:归并排序1. 归并排序原理解析2. 归并排序代码实战3. 时间复杂度…

5、前端笔记-JS-运算符

运算符也被称为操作符,用于实现赋值、比较和执行算数运算等功能的符号 常用的运算符: 算数运算符、递增和递减运算符、比较运算符、逻辑运算符、赋值运算符 1、算术运算符 -*/% - * / %(1)%取余可以用来判断一个数是否可以被整除…

家政清洁服务系统设计与实现

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 修改意见:题目改为“家政清洁服务系统设计与实现” 提供服务:钟点打扫卫生(按小时收…

node.js+uni计算机毕设项目基于微信平台的大学生时间规划管理小程序设计(程序+小程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等…

二次封装a-upload组件,自定义上传预览

a-upload封装效果自定义上传customRequesttransformFile上传前修改文件流自定义预览调整props和a-uoload一致install封装vue组件结束效果 编辑 预览 不展示删除和上传 空数据 自定义图片样式 自定义上传customRequest 入参是本地上传的文件流 async customRequest(file) …

Java笔记之线程池详解

文章目录一、线程池是什么?二、为什么要使用线程池?三、jdk自带的四种线程池1. 线程池参数2.工作队列3.拒绝策略4.四种线程池一些示例四、自定义线程池一、线程池是什么? 一种线程使用模式,是一种多线程处理形式,处理…

FineReport表格软件-CSS动态切换年月日查询报表

1. 概述 1.1 版本 报表服务器版本 功能变更 11.0 -- 1.1 预期效果 由于业务的需要,很多情况下需要当满足某个条件时,某些查询条件才显示出来,如下图所示: 1.2 实现思路 由于业务的需要,很多情况下需要当满足某个…

[Flask]环境配置和项目框架的构建

一、配置flask 在Python环境下使用控制台的pip install命令进行安装 pip install Flask2.1.0 !!!安装版本必须是2.x以上,否则可能出现错误:cannot import name escape from jinja2 (flask 2.x放弃了对jinj…

CloudCompare 的简单的使用说明

File open:打开 save:保存 Global Shift settings:设置最大绝对坐标,最大实体对角线 Primitive Factory:对点云进行原始加工,改变原始点云的形状 3D mouse:对3D鼠标(如3Dconnexion&a…

二叉树的绘制

目录 一、知乎方法 二、动手实践 DOT 语言 无向图 有向图 绘制二叉树 设置属性 如何绘制优美的二叉树 一、知乎方法 知乎上的大佬提供了一系列画图的方法,感兴趣的朋友可以自行去看看 用 Graphviz 绘制一棵漂亮的二叉树 - 南浦月 二叉搜索树&#xff0c…

庖丁解牛式讲解并发编程,GitHub高星最新开源阿里Java进阶必备手册

最近看到粉丝群里讨论最多的问题是现在Java这么卷,担心年龄大了以后会被裁员或者清退,要怎么做才能保住自己的“饭碗”。楼主认为不论是阅读优秀源码、领略设计思路,还是学习优秀架构、代码设计等等,都是加薪升职的正确路径&#…

安全分析开发环境 技术背景

安全分析开发环境一键部署 Gartner 报告中指出 [7],Platfor m Ops for AI 是一种编排和扩展运营人工智能的方法,利用跨数据、机器学习、人工智能和应用程序 开发管道的多种最佳实践,为基于人工智能的系统创建一个高效的交付模型。Platform O…

RV1126笔记十七:吸烟行为检测及部署<四>

若该文为原创文章,转载请注明原文出处。 转换成onnx模型(windows) 一、查看pt文件 准备好训练好的pt文件,可以用Netron打开看看大概长啥样: 二、模型转换 主要的目的是想把训练好的pt文件转成onnx模型,为后面RV1126的部署做铺垫。 我们是在py38的con…

ChatGPT怎么突然变得这么强?华人博士万字长文深度拆解GPT-3.5能力起源

文章目录一、2020 版初代 GPT-3 与大规模预训练二、从 2020 版 GPT-3 到 2022 版 ChatGPT三、Code-Davinci-002和 Text-Davinci-002,在代码上训练,在指令上微调四、text-davinci-003 和 ChatGPT,基于人类反馈的强化学习的威力五、总结当前阶段…

SAP MM SPED输出报错-No authorization for delivery from shipping point US##-之对策

SAP MM SPED输出报错-No authorization for delivery from shipping point US##-之对策 前日收到某客户业务人员上报的一个问题,说是发现某个公司间STO单据的外向交货单里SPED 这个output不成功,不能成功触发inbound delivery单据。 相关报错信息如下&am…

项目实战之旅游网(四)后台角色管理(上)

目录 一.角色列表 二.新增角色 三.修改角色 四.删除角色 一.角色列表 接下来我们编写角色管理功能&#xff0c;首先查询角色列表: 1.编写RoleService Service public class RoleService {Autowiredprivate RoleMapper roleMapper;public Page<Role> findPage(int …