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 返回 /
  • 相关阅读:
    TC SRM 591 (Div2. Practice only)
    SDL2 简单实现图片缩放移动查看
    Linux下socket编程 address already in use 问题
    POJ 2155 二维树状数组
    OJ开发笔记(1)
    开通博客啦~
    [转]STL transform算法中使用toupper函数
    Monkey and Banana HDU 1069
    Ignatius and the Princess IV HDU 1029
    Dungeon Master POJ 2251
  • 原文地址:https://www.cnblogs.com/dolphinX/p/13467725.html
Copyright © 2011-2022 走看看