nodejs插件之一:path模块

in 编程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

上一章简述了通过vue-cli脚手架创建项目中有关于webpack配置的部分。在我们学习的时候,可以发现里面有许多插件的运用。而nodejs中插件也是比较重要的部分,所以这一章我就记录学习的一些在build目录下遇到插件。但本人英语废,对于一些没有中文只有英文介绍的插件我只能尽量百度翻译,如有错请提出。如果有英语厉害的那就请大大帮忙翻译介绍啊~~~~


相对路径和绝对路径简单理解

path与路径有很大的关系,在学习path之前我们不妨简单地路径学习一下相对路径和绝对路径的区别。
1、相对路径就是以当前文件为基准进行一级级目录指向被引用的资源文件。

2、绝对路径是指文件在硬盘上真正存在的路径。


Path的使用

path在nodejs运用的还是比较多的,在路径的处理上十分好用。而且它是node自带的,所以并不需要用npm install 的方法下载。

1. path.basename(path[, ext]):返回路径的最后部分。个人认为这个用来获取文件名或者url中带的参数。

//只有参数path
var joinPath = path.basename('/foo/bar/baz/asdf/quux.html')
console.log(joinPath) /* 输出quux.html */

//带参数ext
//过滤掉以ext结尾的字符串
//转化成正则表达式:/(ext)$/g类似
var joinPath = path.basename('/foo/bar/baz/asdf/quux.html', '.html')
console.log(joinPath) /* 输出quux */
console.log(joinPath) /* 如果路径是以‘quux.html?id=1’结尾
                       * 那么将不会过滤,输出quux.html?id=1 */

2. path.delimiter:提供特定于平台的路径分隔符,可以配合Stirng.split(path.delimiter)使用。

//非常搞笑的是,我在windows环境下用vue-cli创建的webpack项目中src/main.js文件中验证时,path.delimiter代表的符号刚好项目,我也是一脸懵呀!

图片描述

3. path.dirname(path):与basename相对,返回除最后一部分的前面部门目录

/*返回'E:/shishans//blogsss//src'*/
console.info(path.dirname('E:/shishans/blogsss/src/assets'))

4. path.extname(path)获取扩展名

//返回.html
console.info(path.extname('index.html'))

5. path.format(pathObject):返回路径字符串
pathObject里面包括:

注意:pathObject里面所有的属性同是出现时,类似作用的属性有优先级:(1).如果存在dir则root忽视;(2).如果存在base则忽视name和ext。

//如果存在dir则root忽视
path.format({
  root: '/ignored',
  dir: '/home/user/dir',
  base: 'file.txt'
});
// Returns: '/home/user/dir/file.txt'

//如果存在base则忽视name和ext
path.format({
  root: '/',
  base: 'file.txt',
  ext: 'ignored'
});
// Returns: '/file.txt'

6. path.isAbsolute(path):判断path是否是绝对路径

图片描述

7. path.normalize(path):将非标准路径转化成标准路径,string为要转换的路径字符串。转化规则如下:

图片描述

8. path.join([path1], [path2], [...]):将多个参数值字符串结合成一个路径字符串,该方法的主要用途在于,会正确使用当前系统的路径分隔符,Unix系统是"/",Windows系统是"\"。

图片描述

9. path.parse(path):与path.format(pathObject)相反,format是根据dir、root、base、name和ext合成路径字符串,而parse是根据路径分解出来。

图片描述

10. path.relative(from, to):该方法用于获取两个路径之间的相对关系.对于这个方法我也不是怎么理解,我的理解是:from和to去掉相同的路径(即公用的目录)根据from不同部分转化'../',然后获取to不同的部分。

理解:想象一下如果在aaa目录下的文件如何访问bbb下文件,我们需要用../不断地返回到2者公共的目录,再去找bbb所在的目录

图片描述

11. path.resolve([...paths]):将一系列路径解析成绝对路径。

图片描述


path的属性

对于这个我也不了解,只有path.posix在utils.js文件中曾经看见过。可能是一种兼容方式吧?!
图片描述


参考

菜鸟:http://www.runoob.com/nodejs/...
nodejs官网中Path部分:https://nodejs.org/api/path.h...

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看