上一章简单介绍了通过vue-cli脚手架创建项目中webpack配置的部分。我们在学习的时候,可以发现里面有很多插件。nodejs中的插件也是很重要的一部分,所以这一章我会记录一些在build目录下遇到的插件。但是我英语不好。对于一些没有中文只有英文介绍的插件,我只能尽量在百度上翻译。如有错误,请指出。英文好的请帮我翻译一下介绍~~~~相对路径和绝对路径简单理解就是path和path有很大关系。在学习路径之前,我们不妨先简单了解一下相对路径和绝对路径。区别。1、相对路径以当前文件为准,一级目录指向引用的资源文件。../表示当前文件所在目录的上级目录。/表示当前文件所在目录(可省略)/表示当前站点的根目录(映射的硬盘目录)域名)2.绝对路径是指硬盘上文件实际存在的路径。例如:'E:\shishans\blogsss\src\assets\logo.png'路径在nodejs中用的比较多,在路径处理中非常有用。而且是node自带的,所以不用npminstall下载。1.path.basename(path[,ext]):返回路径的最后一部分。个人认为这个是用来获取文件名或者url中的参数的。path:stringrequiredtargetpathext:stringoptional过滤掉以ext结尾的字符串(去掉扩展名)return:stringreturnstringstring//唯一参数html')console.log(joinPath)/*输出quux.html*///带参数ext//过滤掉以ext结尾的字符串//转换为正则表达式:/(ext)$/glikevarjoinPath=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)。';'forWindows(title)':'forPOSIX(colon)//很搞笑的是,我在windows环境下用vue-cli创建的webpack项目中的src/main.js文件中验证时,path.delimiter符号代表的只是项目,我也很困惑!3.path.dirname(path):相对于basename,返回除最后部分path之外的上一个部门目录return:String/*returns'E:/shishans//blogsss//src'*/console.info(path.dirname('E:/shishans/blogsss/src/assets'))4.path.extname(path)获取扩展path:Stringrequiredreturn:StringExtension//return.htmlconsole.info(path.extname('index.html'))5.path.format(pathObject):返回路径字符串pathObjectincludes:dir:String目录root:String根目录base:String等于name+extname:String文件名ext:String扩展名注意:当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和extpath。format({root:'/',base:'file.txt',ext:'ignored'});//Returns:'/file.txt'6.path.isAbsolute(path):判断路径是否为一个绝对路径return:Boolean7.path.normalize(path):将非标准路径转换为标准路径,string为要转换的路径字符串。转换规则如下:解析“..”和“.”路径中的字符串,并返回解析后的标准路径。如果以./开头,则自动省略,例如:console.info(path.normalize('.//a/b//d'))//outputa/b/c;如果以../开头,则不省略,例子:console.info(path.normalize('..//a/b//d'))//output../a/b/c;convertmultipleslashstringstooneslashstring,将窗口操作系统中的反斜杠字符串转换为正斜杠字符串。这两个比较简单,不展开讨论。如果路径字符串以斜杠字符串结尾,则斜杠字符串将保留在转换后的完整路径字符串的末尾。例子:console.info(path.normalize('..//a/b//d//'))//输出../a/b/c/如果'..'出现在中间,就是接近'/../'被忽略;但是'/./'只是忽略了它自己。示例:console.info(path.normalize('.//a/b//d/..//c/.//f'))//输出a\b\c\f8.path.join([path1],[path2],[...]):将多个参数值字符串合并为一个路径字符串。该方法的主要目的是正确使用当前系统的路径分隔符。Unix系统为“/”,Windows系统为“\”。9.path.parse(path):与path.format(pathObject)相反,format根据dir、root、base、name、ext合成路径字符串,parse根据路径分解。返回:pathObject10。path.relative(from,to):该方法用于获取两条路径之间的相对关系。我不太了解这种方法。我的理解是:from和toremove同一个路径(即public目录)根据from的不同部分转换'../',然后得到to的不同部分。理解:想象一下如何访问bbb下的文件如果是aaa目录下的文件,我们需要用../不断的返回到两者的共同目录,然后找到bbb所在的目录11.path.resolve([...paths]):将一系列路径解析为绝对路径。从右到左解析解析。多条路径连接时,如果字符串开头没有'/',则所有字符串都连接起来。如果其中一个字符串的开头有“/”,则不再向前连接。./与字符串开头没有任何内容时相同。../将跳过最近的前一个字符串的连接路径属性。这个我就不知道了,只在utils.js文件中看到了path.posix。也许这是一种兼容的方式?!菜鸟参考:http://www.runoob.com/nodejs/...nodejs官网中路径部分:https://nodejs.org/api/path.h...
