# path
path 模块提供用于处理文件路径和目录路径的实用工具。
# normalize、join、resolve
- path.normalize() 方法规范化给定的 path,解析 '..' 和 '.' 片段。
path.normalize('/foo/bar//baz/asdf/quux/..');
// 返回: '/foo/bar/baz/asdf'
1
2
2
- path.join方法使用平台特定分隔符作为定界符将所有给定的path片段连接在一起,然后生成规范的路径
path.join('/foo', 'bar', 'baz/asdf', '..')
// 返回: '/foo/bar/baz/asdf'
1
2
2
- path.resolve([...paths])把一个相对路径解析成一个绝对路径。
[path.join([...paths])](path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
// 如果当前工作目录是 /home/myself/node,
// 则返回 '/home/myself/node/wwwroot/static_files/gif/image.gif')
1
2
3
2
3
# basename、dirname、extname
- basename
- 文件名.拓展名
- dirname
- 所在的文件夹
- extname
- 拓展名是什么
┌─────────────────────┬────────────┐
│ dir │ base │
├──────┬ ├──────┬─────┤
│ root │ │ name │ ext │
" / home/user/dir / file .txt "
└──────┴──────────────┴──────┴─────┘
1
2
3
4
5
6
2
3
4
5
6
# parse 与 format
- parse是将字符串形式的文件路径给解析成一个包含 root, dir, base, name, ext属性的对象
- format则是将这个对象代表的路径转成字符串形式,与parse相反
如果有了一个路径指向修改其中的一个内容,那么就可以使用parse转成对象然后修改后使用format在转成一个新路径。
当为 pathObject 提供属性时,注意以下组合,其中一些属性优先于另一些属性:
- 如果提供了 pathObject.dir,则忽略 pathObject.root。
- 如果 pathObject.base 存在,则忽略 pathObject.ext 和 pathObject.name。
# sep、delimiter、win32、posix
- sep提供平台特定的路径片段分隔符:
- Windows 上是 \;POSIX 上是 /
# process
# process.cwd()
cwd()方法可以获得当前执行的路径。和linux下的cwd一样
# process.argv
process.argv
属性返回一个数组,其中包含当启动 Node.js 进程时传入的命令行参数。
- 数组第一个元素为:node所安装的路径
- 数组第二个元素为:当前执行文件的路径
- 剩余元素为执行node命令时传入的参数
# process.argv0
保存了process.argv数组的第一个值的引用,不常用
# process.execArgv
process.execArgv 属性返回当Node.js进程被启动时,Node.js特定的命令行选项(位于node后,文件名之前)。 这些选项在process.argv属性返回的数组中不会出现。
# process.execPath
返回启动 Node.js 进程的可执行文件的绝对路径名。基本就是 process.argv 的第一个参数
# process.env
process.env 属性返回包含用户环境的对象。