2018-04-26 path

2019-04-12  本文已影响0人  忙于未来的民工

1: node的五种路径分类 _dirname filename process.cwd() .  ../

_dirname:代表当前运行的文件所在的路径,只到文件夹 不带文件名

filename:代表当前运行文件所在的路径包括文件名字 以及路径 

process.cwd():代表当前node命令所在的目录

2: path的常用api

1)path.normalize 把路径标准化

const path = require('path');

console.log(path.normalize('/foo/bar//baz/asdf/quux/..'));

输出结果:

/foo/bar/baz/asdf

2)path.join 接受多个参数 将参数拼成一个路径

const path = require('path');

console.log(path.join('dist', 'task.js'));

输出结果:

dist/task.js

规则:

1.传入的参数是字符串的路径片段,可以是一个,也可以是多个

2.返回的是一个拼接好的路径,但是根据平台的不同,他会对路径进行不同的规范化,举个例子,Unix系统是”/“,Windows系统是”\“,那么你在两个系统下看到的返回结果就不一样。

3.如果返回的路径字符串长度为零,那么他会返回一个'.',代表当前的文件夹。

4.如果传入的参数中有不是字符串的,那就直接会报错

3)path.parse 传入一个路径 返回一个文件对象

const path = require('path');

console.log(path.parse('/Users/laihuamin/Documents/richEditor/editor'));

{ root: '/',

  dir: '/Users/laihuamin/Documents/richEditor',

  base: 'editor',

  ext: '',

  name: 'editor'}

1.root:代表根目录

2.dir:代表文件所在的文件夹

3.base:代表整一个文件

4.name:代表文件名

5.ext: 代表文件的后缀名

4)path.basename() 传入一个路径 返回一个文件名字

例子1:  const path = require('path');

console.log(path.basename('/Users/laihuamin/Documents/richEditor/editor/src/task.js'));

输出结果: task.js

例子2;

 const path = require('path')

console.log(path.basename('/Users/laihuamin/Documents/richEditor/editor/src/task.js', '.js'));

输出结果; task


5)path.dirname  接收一个文件路径 返回这个文件所在的目录

6) path.extname 接收一个文件名  返回一个后缀

7)path.resolve 接受多个参数 相当于一个接着一个执行cd指令

const path = require('path');

console.log(path.resolve('/foo/bar', '/bar/faa', '..', 'a/../c'));

输出结果: /bar/c

cd/foo/bar/ //这是第一步, 现在的位置是/foo/bar/cd/bar/faa 

 //这是第二步,这里和第一步有区别,他是从/进入的,也就时候根目录,现在的位置是/bar/faacd.. 

 //第三步,从faa退出来,现在的位置是 /barcda/../c 

 //第四步,进入a,然后在推出,在进入c,最后位置是/bar/c

8)path.relative 接收两个路径 返回从第一个路径到第二个路径的相对路径

const path = require('path');

console.log(path.relative('src/bar/baz', 'src/aaa/bbb'));

输出结果:  ../../aaa/bbb

上一篇下一篇

猜你喜欢

热点阅读