zoukankan      html  css  js  c++  java
  • 极简 Node.js 入门

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node

    本文更佳阅读体验:https://www.yuque.com/sunluyong/node/path

    文件操作在 Node.js 编程中使用频率很高,路径处理是文件操作的前提,Node.js 通过 path 模块提供了路径处理的基础 API

    Windows 与 POSIX 对比

    path 模块在不同操作系统处理会有所差异, 当在 Windows 操作系统上运行时, path 模块会假定正被使用的是 Windows 风格的路径(C: empmyfile.html),而在 POSIX 操作系统会默认使用 POSIX 的路径风格(/tmp/myfile.html),路径风格和操作系统不一致会出现意外的结果

    POSIX,Portable Operating System Interface,是 UNIX 系统的一个设计标准,很多类 UNIX 系统也在支持兼容这个标准,如 Linux 和 Mac OS 所基于的 FreeBSD


    path.basename() 方法用于返回一个路径的 basename

    // Windows 下执行
    path.basename('C:\temp\myfile.html'); // myfile.html
    
    // POSIX 下执行
    path.basename('C:\temp\myfile.html'); //C:\temp\myfile.html
    

    如果希望在不同操作系统都返回指定系统的结果,需要使用

    • path.win32.method
    • path.posix.method


    下文使用 POSIX 风格

    parse(path)

    parse.parse() 方法用来解析文件路径,返回 对应的元信息对象

    path.parse('/home/user/dir/file.txt');
    { root: '/',
      dir: '/home/user/dir',
      base: 'file.txt',
      ext: '.txt',
      name: 'file' }
    

    format(parseObject)

    path.format() 方法从对象返回路径字符串,是 path.parse 的反操作

    path.format({
      root: '/ignored',
      dir: '/home/user/dir',
      base: 'file.txt'
    });
    // 返回: '/home/user/dir/file.txt'
    

    normalize(path)

    path.normalize() 方法规范化给定的 path,解析 ..   和 .

    path.normalize('/foo/bar//baz/asdf/quux/..'); // 返回:/foo/bar/baz/asdf
    

    join([...paths])

    path.join() 使用操作系统规定的分隔符将参数中的 path 片段连接,并且规范化

    path.join('/foo', 'bar', 'baz/asdf', 'quux', '..'); // 返回:/foo/bar/baz/asdf
    

    path.relative(from, to)

    path.relative() 方法根据当前工作目录返回 from 到 to 的相对路径

    path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
    // 返回: '../../impl/bbb'
    

    path.resolve([...paths])

    path.resolve() 方法将路径或路径片段的序列解析为绝对路径

    path.resolve('/foo/bar', './baz');
    // 返回: '/foo/bar/baz'
    
    path.resolve('/foo/bar', '/tmp/file/');
    // 返回: '/tmp/file'
    
    path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
    // 如果当前工作目录是 /home/myself/node,
    // 则返回 '/home/myself/node/wwwroot/static_files/gif/image.gif'
    

    获取基本信息

    1. path.basename: 返回 path 最后一部分
    2. path.delimiter: 返回操作系统路径界定符,Windows 返回 ; POSIX 返回 :
    3. path.dirname: 返回文件目录名
    4. path.extname: 返回路径的拓展名(jquery.min.js 拓展名是 .js)
    5. path.isAbsolute 检测路径是否是绝对路径
    6. path.sep: 返回路径分隔符,Windows 返回  POSIX 返回 /
  • 相关阅读:
    According to TLD or attribute directive in tag file, attribute end does not accept any expressions
    Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already in use.
    sql注入漏洞
    Servlet—简单的管理系统
    ServletContext与网站计数器
    VS2010+ICE3.5运行官方demo报错----std::bad_alloc
    java 使用相对路径读取文件
    shell编程 if 注意事项
    Ubuntu12.04下eclipse提示框黑色背景色的修改方法
    解决Ubuntu环境变量错误导致无法正常登录
  • 原文地址:https://www.cnblogs.com/dolphinX/p/13467725.html
Copyright © 2011-2022 走看看