上一章简述了经过vue-cli脚手架建立项目中有关于webpack配置的部分。在咱们学习的时候,能够发现里面有许多插件的运用。而nodejs中插件也是比较重要的部分,因此这一章我就记录学习的一些在build目录下遇到插件。但本人英语废,对于一些没有中文只有英文介绍的插件我只能尽可能百度翻译,若有错请提出。若是有英语厉害的那就请大大帮忙翻译介绍啊~~~~html
path与路径有很大的关系,在学习path以前咱们不妨简单地路径学习一下相对路径和绝对路径的区别。
一、相对路径就是以当前文件为基准进行一级级目录指向被引用的资源文件。vue
二、绝对路径是指文件在硬盘上真正存在的路径。node
path在nodejs运用的仍是比较多的,在路径的处理上十分好用。并且它是node自带的,因此并不须要用npm install 的方法下载。webpack
1. path.basename(path[, ext]):返回路径的最后部分。我的认为这个用来获取文件名或者url中带的参数。web
//只有参数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相对,返回除最后一部分的前面部门目录vue-cli
/*返回'E:/shishans//blogsss//src'*/ console.info(path.dirname('E:/shishans/blogsss/src/assets'))
4. path.extname(path)获取扩展名npm
//返回.html console.info(path.extname('index.html'))
5. path.format(pathObject):返回路径字符串
pathObject里面包括:windows
注意:pathObject里面全部的属性同是出现时,相似做用的属性有优先级:(1).若是存在dir则root忽视;(2).若是存在base则忽视name和ext。api
//若是存在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为要转换的路径字符串。转化规则以下:
console.info(path.normalize('.//a/b//d')) //输出a/b/c
;若是以../开头则不省略,例:console.info(path.normalize('..//a/b//d')) //输出../a/b/c
;console.info(path.normalize('..//a/b//d//')) //输出../a/b/c/
console.info(path.normalize('.//a/b//d/..//c/.//f')) //输出a\b\c\f
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.posix在utils.js文件中曾经看见过。多是一种兼容方式吧?!
菜鸟:http://www.runoob.com/nodejs/...
nodejs官网中Path部分:https://nodejs.org/api/path.h...