node.js path模块属性方法

来源:互联网 发布:淘宝财富值怎么刷的 编辑:程序博客网 时间:2024/06/05 04:59

node.js path模块属性方法

'use strick'/*使用之前需要查询出path模块*/const path = require('path');const dirname = __dirname;/** * path.jion(paths)方法是将路径参数序列拼接起来的 * */let query = path.join(dirname,'./query.js');console.log(query);// dirname/query.js/** * path.normalize(path)方法是将路径正常化为平台的分割符 * 1.处理//为/ * 2.处理将路径中不包含的文件夹去掉,一般结合../,normal输出可以看出该方法将路径矫正了 * ,不走弯路,,因为name/../其实就是name的父目录,接着age是在name父目录里面所以没有必 * 要在name文件夹绕一圈再进入age * 3.同样的./表示当前目录,需要将累赘砍去 * 4.如果路径为空,normal值为‘.’ * */let normal = path.normalize('//name/.././age/index.js');let normal = path.normalize('name/age/../index.js');console.log(normal); // '/age/index.js'/** * 判断一个路径是否是绝对路径*/let isAbsolute = __dirname + 'query.js';let Absolute1 = '../query.js';let Absolute2 = '.';console.log(path.isAbsolute(isAbsolute));console.log(path.isAbsolute(Absolute1));console.log(path.isAbsolute(Absolute2));/** * path.posix提供posix特定实现路径方法接口,以下打印出posix系统下面路径模块的属性和方法*/console.log(path.posix);/** *path.resolve(paths);参数是一系列路径,或者是路径片段,将参数转换成绝对路径 *1.参数拼接从右边到左边开始知道遇到以/开头的参数(posix),被认为是找到绝对路径,如果一 * 直没有遇到那么就是拼接到最后以当前工作目录拼接上,当前工作目录指的是terminal当前cd到 * 的目录 **/console.log(path.resolve(__dirname,'/jxisme/../','node/query.js'));console.log(path.resolve('query.js'));console.log(path.resolve('/foo/bar', './baz')); // Returns: '/foo/bar/baz'console.log(path.resolve('/foo/bar', '/tmp/file/')); // Returns: '/tmp/file'console.log(path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif'));// if the current working directory is /home/myself/node,// this returns '/home/myself/node/wwwroot/static_files/gif/image.gif'/** * path.sep;取出当前平台用于将路径分割为路径片段的分隔符 * path.delimiter;取出当前平台用于将多个路径之间的分割符号*/console.log(path.sep); // '/'console.log(path.delimiter) // ':'/** * path.relative(from, to); * 1.传入两个绝对路径,返回to相对from目录(路径)的相对路径 * 2.两个路径相等时候,返回一个0长度的字符串(指的是空串不能不传参数) * 3.如果to或from为空,将空的参数替换为当前工作目录*/console.log(path.relative('/data/orandea/test/aaa','/data/orandea/impl/bb'));// ../../impl/bbconsole.log(path.relative('/data/orandea/test/aaa',''));// ../../../../Volumes/Macintosh HD/WebDesign/node/pathconsole.log(path.relative('',''));// ''/**以下过程会先找出from到to的相对路径,../tal,然后再再resolve寻找绝对路径,直接将../tal**拼合/data/name/cod/mac之后为/data/name/cod/mac/../tal再将mac/../抵消 */console.log(path.resolve(    '/data/name/cod/mac'    ,path.relative('/data/name/cod/mac','/data/name/impl/tal')    ));// HD/WebDesign/impl/talconsole.log(path.resolve('/data/name/impl/tal'));// /data/name/impl/tal/** * path.parse(path);将路径通过/号分成元素存放在对象中, * 输出:{ root: '/',  dir: '/data/name/code',  base: 'index.js',  ext: '.js',  name: 'index' }{ root: '/',  dir: '/data/name/code',  base: 'index',  ext: '',  name: 'index' } */console.log(path.parse('/data/name/code/index.js'));console.log(path.parse('/data/name/code/index'));
0 0