-
path
> path.basename ('c:/a/b/c/index.js') // basename 获取文件名(包括文件后缀)
'index.js'
> path.basename ('c:/a/b/c/index.js','.js') // basename 第二个参数 去除文件后缀
'index'
> path.dirname('c:/a/b/c/index.js') // dirname 获取目录名
'c:/a/b/c'
> path.extname('c:/a/b/c/index.html') // extname 获取扩展名 (.后缀)
'.html'
> path.isAbsolute('./c/index.html') // isAbsolute(path) 判断是否是绝对路径
false
> path.isAbsolute('/c/index.html')
true
> path.isAbsolute('c/index.html')
false
> path.parse('c:/a/b/c/index.html') // parse 对路径进行解析
{ root: 'c:/', // root 根路径
dir: 'c:/a/b/c', // dir 目录
base: 'index.html', // 包括后缀名的文件名
ext: '.html', // 后缀名
name: 'index' } // 不包括后缀名的文件名
> path.join('c:','a','b','c','d') // join 将多个参数拼接成一个路径
'c:\\a\\b\\c\\d'
-
__dirname 和 __filename
node在操作文件路径时 相对路径设计的是相对于执行node命令所处的路径
这种方法不可靠 所以需要将相对路径转变为绝对路径
__dirname 动态获取当前文件模块所属目录的绝对路径
__filename 动态获取当前文件的绝对路径
注:模块中的路径标识,就是相对于当前文件模块 不受node执行命令的相对路径影响(require)
但是在readFile 和 app.use时 要通过 path.join(__dirname)使用绝对路径
//在 C:\Users\jiaodanyang\Desktop\jsCode\node06\blog 目录下的 new_file.js文件中
console.log(__dirname)
console.log(__filename)
//输出结果是:
C:\Users\jiaodanyang>cd C:\Users\jiaodanyang\Desktop\jsCode\node06\blog
C:\Users\jiaodanyang\Desktop\jsCode\node06\blog>nodemon new_file.js