• 介绍nodejs中的path模块的几个方法


    webpack中常用的:

    var path = require('path')

    是nodejs中的path模块,介绍一下webpack中常用的几个path模块的方法:

    应用node环境的时候,这个path模块的方法经常被用到,处理路径的方法。

    Nodejspath模块介绍:

    网址:http://nodejs.cn/api/path.html

    path 模块提供了一些工具函数,用于处理文件与目录的路径。可以通过以下方式使用:

    const path = require('path');

    var path = require('path')

    Windows 与 POSIX

    path 模块的默认操作会根据 Node.js 应用程序运行的操作系统的不同而变化。 比如,当运行在 Windows 操作系统上时,path 模块会认为使用的是 Windows 风格的路径。

    POSIX 上:

    path.basename('C:\temp\myfile.html');// 返回: 'C:\temp\myfile.html'

    Windows 上:

    path.basename('C:\temp\myfile.html');// 返回: 'myfile.html'

    要想在任何操作系统上处理 Windows 文件路径时获得一致的结果,可以使用 path.win32

    POSIX 和 Windows 上:

    path.win32.basename('C:\temp\myfile.html');// 返回: 'myfile.html'

    要想在任何操作系统上处理 POSIX 文件路径时获得一致的结果,可以使用 path.posix

    POSIX 和 Windows 上:

    path.posix.basename('/tmp/myfile.html');// 返回: 'myfile.html'

    注意:在 Windows Node.js 遵循单驱动器工作目录的理念。 当使用驱动器路径且不带反斜杠时就能体验到该特征。 例如,fs.readdirSync('c:\') 可能返回与 fs.readdirSync('c:') 不同的结果。 

    常见方法

    path.join([...paths])

    新增于: v0.1.16

    path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径。

    长度为零的 path 片段会被忽略。 如果连接后的路径字符串是一个长度为零的字符串,则返回 '.',表示当前工作目录。

    例子:

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

     

    path.join('foo', {}, 'bar');// 抛出 'TypeError: Path must be a string. Received {}'

    如果任一路径片段不是一个字符串,则抛出 TypeError

    path.normalize(path)

    新增于: v0.1.23

    path.normalize() 方法会规范化给定的 path,并解析 '..'  '.' 片段。

    当发现多个连续的路径分隔符时(如 POSIX 上的 Windows 上的   /),它们会被单个的路径分隔符(POSIX 上是 /Windows 上是 )替换。 末尾的多个分隔符会被保留。

    如果 path 是一个长度为零的字符串,则返回 '.',表示当前工作目录。

    例如,在 POSIX 上:

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

    Windows 上:

    path.normalize('C:\temp\\foo\bar\..\');// 返回: 'C:\temp\foo\'

    Since Windows recognizes multiple path separators, both separators will be replaced by instances of the Windows preferred separator ():

    path.win32.normalize('C:////temp\\/\/\/foo/bar');// Returns: 'C:\temp\foo\bar'

    如果 path 不是一个字符串,则抛出 TypeError

    path.resolve([...paths])

    新增于: v0.3.4

    path.resolve() 方法会把一个路径或路径片段的序列解析为一个绝对路径。

    给定的路径的序列是从右往左被处理的,后面每个 path 被依次解析,直到构造完成一个绝对路径。 例如,给定的路径片段的序列为:/foo、/bar、baz,则调用 path.resolve('/foo', '/bar', 'baz') 会返回 /bar/baz。

    如果处理完全部给定的 path 片段后还未生成一个绝对路径,则当前工作目录会被用上。

    生成的路径是规范化后的,且末尾的斜杠会被删除,除非路径被解析为根目录。

    长度为零的 path 片段会被忽略。

    如果没有传入 path 片段,则 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'

    如果任何参数不是一个字符串,则抛出 TypeError

  • 相关阅读:
    《深度探索C++对象模型》1
    《C++标准库》
    关于多级分类的封装
    git常用命令
    使用BigDecimal进行精确运算
    关于强制装换
    page分页
    pageContext.request.contextPath 和 request.getContextPath()
    springMVC + mybatis 搜索 分页等
    mybatis 动态sql
  • 原文地址:https://www.cnblogs.com/wulinzi/p/8034047.html
Copyright © 2020-2023  润新知