Node13 文件路径
重新学习Node,整理以前的日志。文件路径的笔记。
路径表示
Node.js中的文件路径主要有以下几种:
__dirname
__filename
proces.cwd()
./
../
其中前三个是绝对路径,后两个是相对路径 ,可以通过path.resolve
转换为绝对路径
我现在的目录结构是这样的:
1 | D:/ |
path.js:
1 | const path = require('path') |
在path-test
文件夹下用Node执行path.js
,输出结果:
1 | __dirname: D:\projects\path-test |
在projectst
文件夹下用Node执行path.js
:
1 | __dirname: D:\projects\path-test |
关于他们的区别:
process.cwd()
是程序的执行路径,./
相同__dirname
是被执行的JS文件所在文件夹的绝对路径__filename
是被执行的JS文件的绝对路径,与__dirname
一样,都是JS文件本身的属性
path模块
path.join()
用于连接路径,主要用于针对不同系统(windows/unix)使用当前系统的路径分隔符
1 | var path = require('path'); |
上面代码在Unix系统下,会返回路径mydir/foo
。
path.join()
用于将相对路径转为绝对路径
它可以接受多个参数,依次表示所要进入的路径,直到将最后一个参数转为绝对路径。如果根据参数无法得到绝对路径,就以当前所在路径作为基准。除了根目录,该方法的返回值都不带尾部的斜杠。
1 | // 实例 |
上面代码的实例,执行效果类似下面的命令。
1 | $ cd foo/bar |
更多例子:
1 | path.resolve('/foo/bar', './baz') |