小生愛

  
  


                // path: 用于处理文件与目录的路径
                let path = require('path')
                let log = (...value) => console.log(...value)

                let str1 = '/foo/bar/asdf/quux.html'
                let str2 = 'c://name/abc/ddd'
                let str3 = '/foo/bar/abc/ccc'

                /**  
                 *  basename(path, ext) : 返回 path 的最后一部分
                 *    path: 文件 || 目录 路径
                 *    ext: 去掉不匹配的部分 看例子
                */
                
                //  quux.html
                path.basename(str1)
                // ddd
                path.basename(str2)
                // ccc
                path.basename(str3)
                // quux 后面的.html 把要输出的.html后缀过滤掉了
                path.basename(str1, '.html')




                /**
                 *  dirname(path) : 返回一个 path 的目录名
                */
                // /foo/bar/asdf
                path.dirname(str1)
                // c://name/abc
                path.dirname(str2)
                // /foo/bar/abc
                path.dirname(str3)




                /**
                 *  extname: 返回path 的扩展名 从path 的最后一个 . 字符到字符串结束
                */
                // .html
                path.extname(str1)
                // 空
                path.extname(str2)
                // 输出空
                path.extname(str3)
                // 如果path 的第一个字符是 . 则返回一个空字符串
                path.extname('.index')




                /**
                 *  join(): 链接字符串 并规范化生成路径  
                            如果连接字符串长度为0 则返回 . 表示当前工作目录
                */
                path.join('/foo', 'bar', 'abc/asdf', 'quux')
                path.join(str1, 'abc')





                /**
                 *  parse(path): 返回一个对象
                      root: 根目录
                      dir: 目录名
                      base: 等价于 path.basename
                      ext: 等价于 path.extname
                      name: path .前面部分名字
                */
                
                /**
                  { 
                    root: '/',
                    dir: '/foo/bar/asdf',
                    base: 'quux.html',
                    ext: '.html',
                    name: 'quux' 
                  }
                */
                path.parse(str1)
                /**
                  { 
                    root: '',
                    dir: 'c://name/abc',
                    base: 'ddd',
                    ext: '',
                    name: 'ddd' 
                  }
                */
                path.parse(str2)
                /**
                  { 
                    root: '/',
                    dir: '/foo/bar/abc',
                    base: 'ccc',
                    ext: '',
                    name: 'ccc' 
                  } 
                */
                path.parse(str3)




                // resolve 不给参数 会返回当前工作目录的绝对路径
                // /Library/WebServer/Documents
                path.resolve()