美文网首页
node.js常用内置模块--Path

node.js常用内置模块--Path

作者: 31313_iOS | 来源:发表于2020-12-16 17:37 被阅读0次

    Path模块提供了用于处理文件和目录路径的实用程序。
    在Mac OS、Linux和window上的路径是不一样的:

    • window上会使用\或者 \\来作为文件路径的分隔符,当然目前也支持/
    • Mac OS、Linux的Unix操作系统上使用/来作为文件路径的分隔符;

    为了适应不同操作系统上路劲的差异,在开发中对于路劲的操作我们可以使用Path模块。
    更多使用方式请查阅官网Path介绍。

    一、 Path的引入

    const path = require('path')
    

    二、__dirname

    获取当前文件所在文件夹的路劲

    // 当前文件路劲
    const currentPath =  __dirname
    console.log(currentPath);
    // /Users/zzcm/Desktop/node
    

    三、 Path常见的API

    path.dirname(path)获取文件的父文件夹;

    const filePath = '/user/passer/node/passer.text'
    
    //获取文件的父文件夹
    const dirPath = path.dirname(filePath)
    console.log(dirPath); ///user/passer/node
    

    path.extname(path) 获取文件扩展名;

    //获取文件的扩展名
    const extname = path.extname(filePath)
    console.log(extname); //.text
    
    path.extname('index.html');
    // Returns: '.html'
    
    path.extname('index.coffee.md');
    // Returns: '.md'
    
    path.extname('index.');
    // Returns: '.'
    
    path.extname('index');
    // Returns: ''
    
    path.extname('.index');
    // Returns: ''
    
    path.extname('.index.md');
    // Returns: '.md'
    

    path.basename(path[, ext])获取文件名

    //获取文件名
    const baseName = path.basename(filePath)
    console.log(baseName); //passer.text
    

    path.parse(path)其属性表示路径的重要元素

    // 获取到某个文件的信息(根、父文件夹、名字包含扩展名、扩展名 ,文件名字)
    const parse = path.parse('/home/user/dir/file.txt');
    console.log(parse);
    //输出结果
    //{
    //  root: '/',
    //  dir: '/home/user/dir',
    //  base: 'file.txt',
    //  ext: '.txt',
    //  name: 'file'
    // }
    

    path.resolve([...paths])将一系列路径或路径段解析为绝对路径

    • 给定的路径序列从右到左进行处理,每个后续路径都预先加上前缀,直到构造出一个绝对路径。
    • 如果在处理所有给定的路径段之后,尚未生成绝对路径,则使用当前工作目录。
    • 生成的路径将被规范化,尾部的斜杠将被删除,除非将路径解析为根目录。
    • 忽略零长度路径段。
    • 如果没有传递路径段,path.resolve()将返回当前工作目录的绝对路径。

    如果我们希望将某个文件和文件夹拼接,可以使用 path.resolve;

    • resolve函数会判断我们拼接的路径前面是否有 /或../或./;
    • 如果有表示是一个绝对路径,会返回对应的拼接路径;
    • 如果没有,那么会和当前执行文件所在的文件夹进行路径的拼接
    const path1 = path.resolve('passer.txt'); 
    const path2 =path.resolve('/passer.txt'); 
    const path3 = path.resolve('/User/passer', 'passer.txt'); 
    const path4 =path.resolve('User/passer', 'passer.txt'); 
    
    // /Users/zzcm/Desktop/node/passer.txt
    // /passer.txt
    // /User/passer/passer.txt
    // /Users/zzcm/Desktop/node/User/passer/passer.txt
    

    path.join([...paths])路劲拼接

    • 使用平台特定的分隔符作为分隔符将所有给定的path段连接在一起,然后规范化结果路径。
    • 忽略零长度路path。如果联接的路径字符串是零长度字符串,则将返回“.”,表示当前工作目录。
    const path5 = path.join('/user', 'passer', 'passer.txt')
    console.log( path5);
    //user/passer/passer.txt
    
    path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
    // Returns: '/foo/bar/baz/asdf'
    
    path.join('foo', {}, 'bar');
    // Throws 'TypeError: Path must be a string. Received {}'
    

    更多使用方式请查阅官网Path介绍。

    相关文章

      网友评论

          本文标题:node.js常用内置模块--Path

          本文链接:https://www.haomeiwen.com/subject/brcogktx.html