node模块之path——path.join和path.resolve的区别

node模块之path——path.join和path.resolve的区别

概述

在Node.js中,Path模块提供了一些用于处理文件路径的工具方法,如path.join()path.resolve()。这两个方法都可以用于连接路径和解析相对路径,但是它们有不同的行为和适用场景,因此我们需要了解它们的区别。

path.join()

path.join()方法用于将多个片段路径连接成一个完整路径。它主要用于连接相对路径,返回的路径会根据操作系统的不同而自动调整分隔符,同时消除多余的分隔符。

const path = require('path');

const joinedPath = path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
console.log(joinedPath); // 输出: \foo\bar\baz\asdf

可以看到,path.join()把传入的各个路径片段连接在一起,同时去除了多余的分隔符和含义狗突变的点。

path.resolve()

path.resolve()方法用于将相对路径解析成绝对路径。和path.join()不同,path.resolve()方法需要至少传入一项绝对路径,否则它将以当前工作目录作为第一个绝对路径。

const path = require('path');

const resolvedPath = path.resolve('/foo/bar', './baz');
console.log(resolvedPath); // 输出: \foo\bar\baz

在上面的例子中,我们传入了/foo/bar作为第一个参数,然后将相对路径.baz解析成绝对路径,返回了一个绝对路径。

除此之外,如果某一个参数是绝对路径,path.resolve()方法将会忽略之前的所有参数,只使用当前传入的绝对路径。

const path = require('path');

const resolvedPath = path.resolve('/foo/bar', '/temp/file/');
console.log(resolvedPath); // 输出: \temp\file

在上面的例子中,/temp/file是一个绝对路径,因此之前的传入参数/foo/bar./baz均被忽略,直接返回/temp/file

总结

可以看到,path.join()path.resolve()这两个方法的行为和应用场景是不同的。path.join()主要用于连接相对路径,是将多个路径片段拼接起来,自动去掉多余的分隔符,返回一个路径。而path.resolve()方法则用于将相对路径解析成绝对路径。因此,使用时需要根据自身需求选择恰当的方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node模块之path——path.join和path.resolve的区别 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • JS中setInterval、setTimeout不能传递带参数的函数的解决方案

    JS中,setInterval和setTimeout函数都可以用来定时执行某个函数,但是它们都有一个共同的问题,就是无法直接传递带参数的函数。本攻略将会介绍两种解决方案。 方案一:使用匿名函数 可以通过使用匿名函数来间接传递参数,代码示例如下: // 定义一个带有参数的函数 function myFunction(param1, param2) { cons…

    other 2023年6月26日
    00
  • Win11 Dev 预览版 22557 发布:(附更新修复内容汇总)

    Win11 Dev 预览版 22557 发布攻略 1. 简介 Win11 Dev 预览版 22557 是 Windows 11 开发者预览版的最新发布版本。本攻略将详细介绍该版本的更新修复内容,并提供两个示例说明。 2. 更新修复内容汇总 以下是 Win11 Dev 预览版 22557 的更新修复内容汇总: 修复了任务栏上的图标在某些情况下无法正确显示的问题…

    other 2023年9月6日
    00
  • 教你开发一个webpackplugin

    教你开发一个Webpack Plugin Webpack是一个流行的前端打包工具,它提供了许多插件来扩展其功能。在本攻略中,我们将详细介绍如何开发一个Webpack插件。 步骤1:创建一个Webpack插件 首先,我们需要创建一个Webpack插件。一个Webpack插件一个JavaScript对象,它包含一个apply方法。该方法接收一个compiler对…

    other 2023年5月9日
    00
  • javascript中递归函数用法注意点

    JavaScript中递归函数是一种常用的技巧,它可以帮助我们解决很多复杂的问题。在使用递归函数时,需要注意以下几点: 1. 设定递归终止条件 递归函数需要明确的终止条件,否则可能会陷入死循环。通常情况下,递归终止条件是一个满足特定条件的简单问题,比如到达了数组的最后一个元素或是某个数值小于某个值。以下是一个求阶乘的递归函数示例,其中设定了 n = 1 时的…

    other 2023年6月27日
    00
  • jQuery 获取浏览器所在的IP地址的小例子

    jQuery 获取浏览器所在的IP地址的小例子攻略 介绍 在本攻略中,我们将使用jQuery来获取浏览器所在的IP地址。IP地址是一个用于标识设备在网络中位置的唯一地址。通过获取IP地址,我们可以实现一些有趣的功能,比如根据用户的地理位置提供个性化的内容。 步骤 步骤 1: 引入jQuery库 首先,我们需要在HTML文件中引入jQuery库。你可以从官方网…

    other 2023年7月30日
    00
  • 我需要关闭java中的inputstream吗?

    以下是关于“我需要关闭Java中的InputStream吗?”的完整攻略,包含两个示例。 我需要关闭Java中的InputStream吗? 在Java中,我们通常使用InputStream来读取输入流中的数据。但是,有时候我们会遇到一个问题:我们需要关闭InputStream吗?以下是关于这个问题详细攻略。 1. InputStream的关闭 InputSt…

    other 2023年5月9日
    00
  • 批处理(bat)获取指定目录下的所有文件列表

    下面是批处理获取指定目录下的所有文件列表的攻略: 步骤1:设置工作目录 批处理程序执行时需要知道它所在的工作目录,因此我们需要先将其设置为指定目录。使用 cd 命令即可轻松完成: cd /d D:\example\folder 这里将工作目录设置为了 D:\example\folder。 步骤2:获取指定目录下的所有文件列表 使用 dir 命令可以列出指定目…

    other 2023年6月26日
    00
  • 怎么关闭Win11大小写提示图标?Win11大小写提示图标关闭方法

    关闭Win11大小写提示图标的方法如下: 首先,点击任务栏右侧的通知图标,打开“操作中心”。 在“操作中心”中,找到并点击“所有设置”按钮。 在“设置”窗口中,选择“个性化”选项。 在“个性化”选项中,点击左侧的“任务栏”。 在右侧的任务栏设置中,找到“系统图标”一栏。 在“系统图标”中,找到“大小写提示”选项,并将其关闭。 示例说明1:在“个性化”选项中,…

    other 2023年8月16日
    00
合作推广
合作推广
分享本页
返回顶部