iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Node.js常用三大模块之path模块
  • 891
分享到

Node.js常用三大模块之path模块

2024-04-02 19:04:59 891人浏览 八月长安
摘要

目录相对路径和绝对路径概念路径特殊符号path路径模块什么是path路径模块获取路径名path.dirname()路径拼接path.join()获取路径中文件名path.basena

相对路径和绝对路径

概念

在这里首先先复习一下相对路径和绝对路径:

  • 绝对路径 : 文件真实的存放位置  (以WEB 站点根目录为参考基础的目录路径。之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的。其实绝对路径与相对路径的不同处,只在于描述目录路径时,所采用的参考点不同。由于对网站上所有文件而言,根目录这个参考点对所有文件都是一样的,因此,运用以根目录为参考点的路径描述方式才会被称之为绝对路径)
  • 相对路径 : 相对于当前位置的路径 (以引用文件之网页所在位置为参考基础,而建立出的目录路径。因此,当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对)

路径特殊符号

"./" ------ 代表目前所在的目录,相对路径

"../" ------ 代表上一层目录,相对路径

"../../" ------ 代表的是上一层目录的上一层目录,相对路径

"/" ------ 代表根目录,绝对路径

"C:/users/" ------ 代表根目录,绝对路径

示例:

一般情况下我们不会去使用绝对路径引入文件,一般使用相对路径,因为相对路径会更加的灵活,以及在书写的项目上线的时候使用绝对路径将很麻烦,相对路径yyds!

现在需要实现一个小功能,将该图片以不同形式引入到html文件中:

绝对路径

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta Http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    img {
        width: 1200px;
        height: 700px;
    }
</style>
<body>
    <img src="/image/23on23-01_2.jpg" alt="">
</body>
</html>

在这里使用了路径符号//这个符号代表了根目录(D:/node复盘/03)。

相对路径

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    img {
        width: 1200px;
        height: 700px;
    }
</style>
<body>
    <img src="./image/23on23-01_2.jpg" alt="">
</body>
</html>

在这里使用了路径符号./,./代表了目前所在的目录(D:/node复盘/03)。

成功引入:

path路径模块

什么是path路径模块

path 模块是 node.js 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。

获取路径名path.dirname()

返回 path 的目录名。 尾部的目录分隔符将被忽略。语法格式:

path.dirname(path)

代码示例:

const path = require('path')
console.log(path.dirname(`D:/node/02/hello.js`));  // D:/node/02

这个方法打印出了目录名D:/node/02

路径拼接path.join()

使用 path.join() 方法,可以把多个路径片段拼接为完整的路径字符串,语法格式如下:

path.join([...paths])

参数解读:

  1. …paths < string > 路径片段的序列
  2. 返回值: < string >

代码示例:

const path = require('path')
//   注意: ../会抵消前面的路径
const pathStr = path.join('/a','/b/c','../','./c','/d')
console.log(pathStr);  //   \a\b\c\d

首先要引入path模块,node中引入模块使用内置的方法require(),如上例中写多个字符串,最后打印出来了\a\b\c\d,就是join的拼接功能,但是在这里要注意一点:../会抵消前面的路径,比如在案例中../抵消了/c

获取路径中文件名path.basename()

使用 path.basename() 方法,可以获取路径中的最后一部分,常通过该方法获取路径中的文件名,语法格式如下:

path.basename(path[, ext])

参数解读:

  • path: 文件路径
  • ext: 文件扩展名

代码示例:

const path = require('path')
// 定义文件的存放路径
const fpath = '/a/b/c/index.html'
const fullName = path.basename(fpath)
console.log(fullName) // index.html
const nameWithoutExt = path.basename(fpath, '.html')
console.log(nameWithoutExt) // index

当没有传入第二个参数的时候,返回的将是路径的最后部分,所以返回了index.html,当第二个参数传入时,将会在第一种情况的基础下裁剪掉第二个参数值,所以返回了index

获取路径中文件扩展名path.extname()

使用 path.extname() 方法,返回路径中文件的后缀名,即路径中最后一个'.'之后的部分。如果一个路径中并不包含'.'或该路径只包含一个'.' 且这个'.'为路径的第一个字符,则此命令返回空字符串。语法格式如下:

path.extname(path)

参数path:传入的路径

代码示例:

const path = require('path')
const fpath = '/a/b/c/index.html'
const fext = path.extname(fpath)
console.log(fext) // .html

这个方法与上边的方法不同的在于提取了后缀名!

解析为绝对路径path.resolve()

path.resolve() 该方法将一些的 路径/路径段 解析为绝对路径,语法格式如下:

path.resolve( [from…],to ) 注 :将参数to位置的字符解析到一个绝对路径里,[from … ]为选填项,路径源;

参数解读:

  1. from : 源路径
  2. to : 将被解析到绝对路径的字符串

代码示例:

const path = require('path)
path.resolve('/foo/bar', './baz')   // returns '/foo/bar/baz'
path.resolve('/foo/bar', 'baz')   // returns '/foo/bar/baz'
path.resolve('/foo/bar', '/baz')   // returns '/baz'
path.resolve('/foo/bar', '../baz')   // returns '/foo/baz'
path.resolve('home','/foo/bar', '../baz')   // returns '/foo/baz'
path.resolve('home','./foo/bar', '../baz')   // returns '/home/foo/baz'
path.resolve('home','foo/bar', '../baz')   // returns '/home/foo/baz'
path.resolve('home', 'foo', 'build','aaaa','aadada','../../..', 'asset') //return '/home/foo/asset'

从后向前,若字符以 / 开头,不会拼接到前面的路径;若以../开头,拼接前面的路径,且不含最后一节路径;若连续出现多个../../..或者../..则忽略前方n(这个n代表的是出现了几个..)个..路径名进行拼接;若以./开头 或者没有符号 则拼接前面路径;

返回相对路径path.relative(from, to)

path.relative() 方法根据当前工作目录返回 from 到 to 的相对路径。 如果 from 和 to 各自解析到相同的路径(分别调用 path.resolve() 之后),则返回零长度的字符串。

如果将零长度的字符串传入 from 或 to,则使用当前工作目录代替该零长度的字符串。

代码示例:

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

该代码表达的是对于from参数来说,to参数的位置是在哪里,通过解析后得出../../impl/bbb

小结

node的内置模块中path模块的实战操作在于当你需要获取文件的名称时候可以达到灵活使用的目的,一般情况下我们只需要文章的前四种方法,最后两种方法是对path模块的一个小拔高

到此这篇关于Node.js常用三大模块之path模块的文章就介绍到这了,更多相关Node.js path模块内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Node.js常用三大模块之path模块

本文链接: https://www.lsjlt.com/news/167538.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Node.js常用三大模块之path模块
    目录相对路径和绝对路径概念路径特殊符号path路径模块什么是path路径模块获取路径名path.dirname()路径拼接path.join()获取路径中文件名path.basena...
    99+
    2022-11-13
  • Node.js 中常用内置模块(path 路径模块)
    目录前言路径拼接:join方法获取文件名:basename方法获取文件扩展名:extname方法结语前言 进行服务端开发,少不了对各种路径的处理,之前我们是简单粗暴的使用字符串的方法...
    99+
    2022-11-13
  • Node.js基础入门之path模块,url模块,http模块使用详解
    目录path模块1. path模块示例2. path模块其他方法url模块1. 旧的解析方法2. 新的解析方法http模块1. 什么是HTTP协议?2. HTTP协议约束的细节3. ...
    99+
    2022-11-13
  • Node.js中path模块,url模块,http模块怎么用
    小编给大家分享一下Node.js中path模块,url模块,http模块怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!path模块Node.js中,提供了一...
    99+
    2023-06-29
  • 深入理解node.js之path模块
    node之path模块 //引用该模块 var path = require("path"); 1、路径解析,得到规范化的路径格式 //对window系统,目录分隔为'', 对于UNIX系统,分隔...
    99+
    2022-06-04
    模块 node js
  • node.js的path模块怎么用
    这篇文章主要介绍了node.js的path模块怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇node.js的path模块怎么用文章都会有所收获,下面我们一起来看看吧。1、什么是path模块【解释】:&nb...
    99+
    2023-06-29
  • python常见模块之OS模块和time模块
    一、OS模块概述 Python OS模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。 二、常用方法 三、OS模...
    99+
    2022-11-12
  • Node.js常用工具之util模块
    前言 util是一个Node.js的核心工具模块,提供常用的函数,用于弥补核心JavaScript提供的函数过于精简的问题。下面话不多说,一起来看看详细的介绍,文中介绍的非常详细,对大家具有一定的参考价值。...
    99+
    2022-06-04
    常用工具 模块 Node
  • Node.js中Process、Path和File System模块常用 API
    这篇文章给大家分享的是有关Node.js中Process、Path和File System模块常用 API的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。本篇文章给大家介绍一下Nodejs中Process、Path...
    99+
    2023-06-14
  • Node.js 中的 fs 模块与Path模块方法详解
    概述: 文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集。可以通过调用 require("fs") 来获取该模块。文件系统模块中的所有方法均有异步和同步版本。...
    99+
    2022-11-12
  • Node.js中的path模块怎么用
    这篇文章主要介绍“Node.js中的path模块怎么用”,在日常操作中,相信很多人在Node.js中的path模块怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node...
    99+
    2022-10-19
  • Node.js中path模块有什么用
    这篇文章主要为大家展示了“Node.js中path模块有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Node.js中path模块有什么用”这篇文章吧。p...
    99+
    2022-10-19
  • python常用的时间模块之datetime模块
    今天小编给大家分享的是python常用的时间模块之datetime模块,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。一、基本类型1、date类datetime.date(2023,5...
    99+
    2023-08-03
  • 常用模块 - openpyxl模块
    一、简介 xlrd/xlwt          主要是针对Office 2003或更早版本的XLS文件格式          缺点:不支持XLSX文件格式 OpenPyXL          能读能写能修改          缺点:不支持...
    99+
    2023-01-31
    模块 常用 openpyxl
  • 常用模块 - configparse模块
    一、简介 configparser模块在Python中是用来读取配置文件的,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节点(section),每个节可以有多个参数(键=值)。 二、生成配置文件 #! /us...
    99+
    2023-01-31
    模块 常用 configparse
  • 常用模块 - hashlib模块
    一、简介 Python的hashlib提供了常见的摘要算法,如MD5、SHA1、SHA224、SHA256、SHA384、SHA512等算法。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长...
    99+
    2023-01-31
    模块 常用 hashlib
  • Python常用内置模块之xml模块(详解)
    xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。从结构上,很像HTML超文本标记语言。但他们被设计的目的是不同的,超文本标记语言被设计用来显示数据,...
    99+
    2022-06-04
    模块 详解 常用
  • Node.js中的path模块怎么使用
    这篇“Node.js中的path模块怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Node.js中的path模块怎么...
    99+
    2023-07-05
  • node中的fs模块、path模块怎么用
    本篇内容主要讲解“node中的fs模块、path模块怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“node中的fs模块、path模块怎么用”吧!fs文件系...
    99+
    2022-10-19
  • 聊聊Node.js path模块中的常用工具函数
    本篇文章带大家聊聊Node中的path模块,介绍一下path的常见使用场景、执行机制,以及常用工具函数,希望对大家有所帮助!在开发过程中,会经常用到 Node.js  ,它利用 V8 提供的能力,拓展了 JS 的能力。而在 Nod...
    99+
    2022-06-09
    path Node 执行机制
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作