在用nodejs进行开发的时候,常常要进行复杂的路径判断。对于我这种刚开始接触模块化开发的小白来说,实在是浪费很多宝贵的脑细胞(找路径bug)。

node中的path模块帮助我们方便的解决了路径设置问题。

首先将path模块引入

require('path')

接下来我们来看一看path对象的常用的功能:

路径合并

path.join(path1[,path2][,path3])

该方法将两个路径串联起来,并且格式化。该方法有两方面的功能:

  1. 结合node中的__dirname,我们可以根据一个文件相对于当前文件的位置得到该文件的绝对路径;

  2. 由于该方法会对结果进行格式化,即将不规范的路径自动修改为规范的路径。

路径导航

path.resolve(path1, path2)

相当于linux中的cd path1, cd path2....
结合__dirname, 可以方便的得到某个文件的绝对位置。

相对路径

path.relative(from, to)

返回一个路径相对于另一个路径的位置串,比如:

path.relative("/a/b/c/d", "/a/b/e/f")

返回"../../e/f"

除了path模块之外,node还提供了__dirname(返回该文件所在文件夹的绝对位置),__filename(返回文件的绝对路径)来帮助我们处理复杂的路径设置。

nodejs中path的用法相关推荐

  1. python中path的用法,python中path的用法

    如何将python的路径加到path中 方法一:函数添加 1 import sys 2 查看sys.path 3 添加sys.path.append("c:\\") 方法二:修改环 ...

  2. nodeJS 的 path.resolve() 用法解析

    path是nodeJS的一个内置模块,可以直接在其他js文件中导入改模块,代码如下 var path = require("path") //node的内置模块 该模块导出很多pa ...

  3. nodejs中.use()的用法(坑)

    一开始看教程视频的时候,上面只是简单地说.get()是处理get请求,.post()处理post请求 而.use()是可以处理get和post 然而,我写了两个接口,一个是/user/detail,一 ...

  4. nodejs中的读取文件fs与文件路径path

    什么是nodejs? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,nodejs允许javascript代码运行在服务端 1. nodejs不是一门新的编程语 ...

  5. python调用node_node-python:在nodejs中调用python代码

    在npmjs.com中有一个包node-python,顾名思义,是不是就是在node中使用python呢?让我们往下看: (这里是它的地址:https://www.npmjs.com/package/ ...

  6. Java中getResourceAsStream的用法

    Java中getResourceAsStream的用法 首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String p ...

  7. tensorflow中Tensorboard的用法

    tensorflow中Tensorboard的用法 下面代码定义了一个简单的用于实现常量加法和乘法的计算图. import tensorflow as tf input1 = tf.constant( ...

  8. python sys.path.append(),sys.path.insert()用法

    python sys.path.append(),sys.path.insert()用法 添加import搜索路径 python程序中使用 import XXX 时,python解析器会在当前目录.已 ...

  9. WPF中StringFormat的用法

    原文:WPF中StringFormat的用法 WPF中StringFormat的用法可以参照C#中string.Format的用法 1. C#中用法: 格式化货币(跟系统的环境有关,中文系统默认格式化 ...

最新文章

  1. itmz文件如何打开_如何使用proteus8打开低版本proteus7的仿真文件?
  2. hdu4862 费用流(不错)
  3. 牛客网_PAT乙级1007_A除以B (20)
  4. jlabel字怎么变化_怎样才能把字写好?详解最科学的练字方法及步骤
  5. php机器人聊天对话框,仿机器人聊天窗口(热身)
  6. linux命令cd回退_Linux命令一
  7. bzoj 3384: [Usaco2004 Nov]Apple Catching 接苹果(DP)
  8. Stoer-Wagner无向图全局最小割(hduoj 3691 Nubulsa Expo)
  9. 家庭上网用路由器和ADSL的连接
  10. 【Verilog】移位寄存器总结:移位寄存器、算数移位寄存器、线性反馈移位寄存器(LFSR)
  11. 网络爬虫+数据可视化
  12. 金士顿U盘DT100G3-2014年款与2019年款对比
  13. 微信计数器|微信自动加好友|微信自动通过好友|微信HOOK|微信静默清粉
  14. android小米手机变慢,小米安卓系统手机上网速度慢的解决方法
  15. chrome 谷歌 浏览器 更新后页面布局变大处理
  16. Git 工具 - 储藏(Stashing) git stash 暂存现在工作区的内容
  17. 高大上的数据可视化图表,只需6步就能完成
  18. 工业互联网:7  项目生命周期管理(1)
  19. 2.3、云计算FusionCompute存储虚拟化
  20. ZeroTier-全网畅连

热门文章

  1. Servlet-三大域对象
  2. 版本控制--搭建 GitLab 服务器
  3. QT+VS中使用qDebbug()打印调试信息无法显示
  4. 基于Docker的GoldenGate部署
  5. SDOI2010 地精部落
  6. 洛谷 P1340 兽径管理
  7. 如何快糙好猛的使用Shiqi.Yu老师的公开人脸检测库(附源码)
  8. Chapter 4 : 单行函数
  9. MATLAB 与 Excel 接口
  10. CodeForces - 976F Minimal k-covering