• 连接路径:path.join([path1][, path2][, ...])

    path.join()方法可以连接任意多个路径字符串。要连接的多个路径可做为参数传入。

    path.join()方法在接边路径的同时也会对路径进行规范化。

    例如:
var path = require('path');
//合法的字符串连接
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')
// 连接后
'/foo/bar/baz/asdf' //不合法的字符串将抛出异常
path.join('foo', {}, 'bar')
// 抛出的异常
TypeError: Arguments to path.join must be strings'
  • 路径解析:path.resolve([from ...], to)

    path.resolve()方法可以将多个路径解析为一个规范化的绝对路径。其处理方式类似于对这些路径逐一进行cd操作,与cd操作不同的是,这引起路径可以是文件,并且可不必实际存在(resolve()方法不会利用底层的文件系统判断路径是否存在,而只是进行路径字符串操作)。

    例如:
path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile')
// 相当于
cd foo/bar
cd /tmp/file/
cd ..
cd a/../subfile
pwd

例子:

path.resolve('/foo/bar', './baz')
// 输出结果为
'/foo/bar/baz'
path.resolve('/foo/bar', '/tmp/file/')
// 输出结果为
'/tmp/file' path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif')
// 当前的工作路径是 /home/itbilu/node,则输出结果为
'/home/itbilu/node/wwwroot/static_files/gif/image.gif'
  • 对比
const path = require('path');
let myPath = path.join(__dirname,'/img/so');
let myPath2 = path.join(__dirname,'./img/so');
let myPath3 = path.resolve(__dirname,'/img/so');
let myPath4 = path.resolve(__dirname,'./img/so');
console.log(__dirname); //D:\myProgram\test
console.log(myPath); //D:\myProgram\test\img\so
console.log(myPath2); //D:\myProgram\test\img\so
console.log(myPath3); //D:\img\so<br>
console.log(myPath4); //D:\myProgram\test\img\so

最新文章

  1. 深入理解javascript中的富文本编辑
  2. HFS汉化版|简易HTTP服务器
  3. java 集合2(迭代器)
  4. Terrain &amp; Light &amp; Camera
  5. sgu 176 Flow construction(有源汇的上下界最小流)
  6. BZOJ3190[JLOI2013]赛车
  7. 在ubuntu 10.04下编译ffmpeg
  8. BZOJ 4010 菜肴制作
  9. hadoop SQL使用
  10. QT:给Widget设置背景图片——设置Widget的调色板,调色板使用图片和背景色
  11. centos5.5 安装git
  12. ( ̄▽ ̄&quot;) 没钱了
  13. 刨根究底字符编码之五——简体汉字编码方案(GB2312、GBK、GB18030、GB13000)以及全角、半角、CJK
  14. echarts中地图提示&quot;TypeError:i is undefined&quot;
  15. 打印十字图 JAVA 递归实现
  16. Chromedriver executable needs to be in path 解决办法
  17. 监控服务器配置(一)-----Prometheus安装配置
  18. Android Demo Android ActionBarCompat-ListPopupMenu
  19. a href=#与 a href=javascript:void(0) 的区别(转)
  20. C#_02.10_基础一_.NET框架

热门文章

  1. 面试题18(一):在O(1)时间删除链表结点
  2. Django 之 logging
  3. C#类的成员(字段、属性、方法)
  4. SpringBoot第五篇:整合Mybatis
  5. LVM使用
  6. [CentOS7] vncviewer与windows之间的复制粘贴
  7. webpack@3.6.0(3)-- 优化
  8. HQuorumPeer和QuorumPeerMain进程的区别
  9. Chapter10
  10. LeetCode 583 Delete Operation for Two Strings 删除两个字符串的不同部分使两个字符串相同,求删除的步数